每日一练:阶乘序列求和

问题:求前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一切皆对象)。

欢迎在评论区贴出你的代码,一起交流学习。

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20171208G0WGB900?refer=cp_1026

扫码关注云+社区