Python求1到n的阶乘之和的实例
作者:算法与编程之美
这篇文章主要介绍了Python求1到n的阶乘之和的实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
Python求1到n的阶乘之和
问题描述
从键盘输入n,求1+2!+3!+...+n!的和
对于此题,我们可以用定义一个函数来解决,接着用一个for循环语句来设置从1到n,接下来一起来编写这个代码吧。
解决方案
假定这个函数名称为f
def f(x): f = 1 for i in range(1,x+1): f *= i return f n = int(input(“请输入正整数:”)) print(“和为:%d“ % sum(map(f,range(1,n+1))))
若输入正整数3,我们来运行一下。
图3.1 运行流程
注:要注意return的使用,不能忽略
心得:
- 在此代码中,我们需要知道for循环语句的使用以及定义def函数,注意我们要求的是1到n,按照左闭右开的规则,需要填写的是n+1,在函数后要记得写上return。
- 最后将打印出来的会是一个整数所以需要用%d。编写时注意符号的使用,不能漏用。
- 在写此类题时,只需关注常见代码的注意事项再稍加细心即可。
python求前n项的阶乘之和
从键盘输入一个整数n,求前n项的阶乘之和,1+2!+3!+…+n!的和
输入格式:
- 输入一个大于1的整数。
- 例如:输入20。
输出格式:
- 输出一个整数。
- 例如:2561327494111820313。
输入样例:
- 在这里给出一组输入。
- 例如:
- 20
输出样例:
- 在这里给出相应的输出。
- 例如:
- 2561327494111820313
python代码:
def f(n): ans = 1 for i in range(1,n+1): ans *= i #等价于ans = ans * 2 return ans n = int(input()) sum = 0 for i in range(1,n+1): sum += f(i) print(sum)
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。