问题:求前n项和:1+2!+3!+4!+5!+......+n!
解题思路:
这么简单,不需要思路吧。
解题源码分享:
# 法一:通过递归实现
deffactorial(n):
ifn
return'Error!Please enter the number that great than zero.'
elifnin(,1):
return1
else:
returnn * factorial(n -1)
defs(k):
ifk
return'Error!Please enter the number that greater than zero.'
elifk ==1:
return1
else:
returnfactorial(k) + s(k -1)
# 法二:通过循环实现
deffun(n):
__sum =
ifn
return'Error!Please enter the number that greater than zero.'
foriinrange(1,n +1):
__f =1
forjinrange(1,i +1):
__f *= j
__sum += __f
return__sum
print(s(10))# 4037913
print(fun(10))# 4037913
补充:
1. Python的变量命名规则:_xxx 单下划线开头的变量,声明是一个protected的变量;__xxx 双下划线开头的变量,声明是一个private变量;__xxx__ 双下划线开头双下划线结尾的变量,是一个内置变量,例如__import__,__init__(不允许定义这样的变量)。
2. Python的函数同变量一样,没有固定的类型,同一个函数可以返回字符串,也可以返回数值,和变量一样相当于“指针”(不同于C/C++的指针,C/C++的指针要声明指针的类型),指向“对象”的指针(Python一切皆对象)。
欢迎在评论区贴出你的代码,一起交流学习。
领取专属 10元无门槛券
私享最新 技术干货