Python阶乘求和的方法

题目描述:

获得用户输入的整数n,输出 1!+2!+…+n!的值。

如果输入数值为0、负数、非数字或非整数,输出提示信息:输入有误,请输入正整数。

方法一:#factTest1

def main():

a = input()

sum = 0

if a.isdigit():

n = eval(a)

if n > 0:

fact = 1

for i in range(1, n+1):

fact *= i

sum += fact

print(sum)

else:

print("输入有误,请输入正整数")

else:

print("输入有误,请输入正整数")

main()

方法二:递归思想#factTest2

import sys

sys.setrecursionlimit(5000)

def getSum(i):

sum = 0

if i==0:

return 0

else:

for x in range(1,i+1):

sum += fact(x)

return sum

def fact(m):

if m==0:

return 1

else:

return m*fact(m-1)

def main():

n = input()

if n.isdigit():

a = eval(n)

if a>0:

result = getSum(a)

print(result)

else:

print("输入有误,请输入正整数")

else:

print("输入有误,请输入正整数")

main()

问题总结:

当使用递归方法求1024的阶乘时,出现了一个异常:RecursionError: maximum recursion depth exceeded in comparison,超出了递归的最大深度。一些网友提到Python中默认的最大递归深度为1000,但在实际测试中,我的电脑到997的时候就出现异常了,不知道这是由什么决定的。因此,为了能够计算1024的阶乘,需要为最大递归深度赋予一个更大的值。这里可以采用以下方法:import sys

sys.setrecursionlimit(5000) #修改为5000

另外,也可以查看最大递归深度:import sys

sys.getrecursionlimit() # output:1000

以上就是Python阶乘求和的方法的详细内容,更多请关注随便技术网其它相关文章!

python奇数阶乘求和_Python阶乘求和的方法相关推荐

  1. python深入与提高_Python深入01 特殊方法与多范式

    Python一切皆对象,但同时,Python还是一个多范式语言(multi-paradigm),你不仅可以使用面向对象的方式来编写程序,还可以用面向过程的方式来编写相同功能的程序(还有函数式.声明式等 ...

  2. python格式化字符串漏洞_Python字符串格式化的方法(两种)

    本文介绍了Python字符串格式化,主要有两种方法,分享给大家,具体如下 用于字符串的拼接,性能更优. 字符串格式化有两种方式:百分号方式.format方式. 百分号方式比较老,而format方式是比 ...

  3. python中len字典_Python 字典(Dictionary) len()方法

    Python 字典(Dictionary) len()方法 描述 Python 字典(Dictionary) len() 函数计算字典元素个数,即键的总数.高佣联盟 www.cgewang.com 语 ...

  4. python阶乘倒数求和_Python阶乘求和的方法

    题目描述: 获得用户输入的整数n,输出 1!+2!+-+n!的值. 如果输入数值为0.负数.非数字或非整数,输出提示信息:输入有误,请输入正整数. 方法一:#factTest1 def main(): ...

  5. python编写等差数列求和_python等差数列求和公式前 100 项的和实例

    最近跑去学了下python,一个很简单的题,结果发现数学公示忘了,在不用for循环的情况下居然有些懵,记录为下.. 题:等差数列可以定义为每一项与它的前一项的差等于一个常数,可以用变量 x1 表示等差 ...

  6. python数组数字求和_python数组求和

    Pandas是Python的一个大数据处理模块.Pandas使用一个二维的数据结构DataFrame来表示表格式的数据,相比较于Numpy,Pandas可以存储混合的数据结构,同时使用NaN来表示缺失 ...

  7. python数字求和_python数字求和

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 对于每个值,我右对齐值的位(忽略0b),计算1的数量,并移动1的数量. #!us ...

  8. python求平均工资_python实现求和,求平均值——函数

    随笔- 51 文章- 0 评论- 2 #求三个数的和 def sum(a,b,c): return a+b+c x = int(input("请输入第一个数:")) y = int ...

  9. python对矩阵部分求和_python – numpy求和矩阵 – 按索引排

    我有3个矩阵(np数组): A是形状(n,m); B的形状为(m,k);和C的形状(n,k) 矩阵C只有集合{-1,0,1}中的值,它是某种类型的"指标":如果C [i,j] == ...

最新文章

  1. C#“装箱”(boxing)与“拆箱”(unboxing)
  2. 告别渣画质,视频会议带宽降90%,英伟达公开Maxine服务背后重要技术
  3. Nginx-06:Nginx配置实例之负载均衡
  4. Ubuntu 下查看CUDA和cuDNN 版本
  5. STL源代码分析(ch 1)组态1
  6. 【PAT乙级】1035 插入与归并 (25 分)
  7. 如何实现模拟人类视觉注意力的循环神经网络?
  8. 高斯投影正反算C语言程序代码,高斯投影正反算-对网络上面流行的C代码的修改(已正确运行)...
  9. [CareerCup] 1.6 Rotate Image 翻转图像
  10. SAP Spartacus Org Unit List响应回车案件的实现原理
  11. Perspective Mockups mac(PS透视模型动作插件)支持ps2021
  12. CCF NOI1011 正方形
  13. Chrome上网问题解决记录
  14. 产品设计中不可忽视的意见反馈功能
  15. python项目目录结构
  16. 【计算机视觉】exe视频转mp4、采集视频中图片记录、删除ABC看图王等软件
  17. Word、WPS 文字背景颜色无法去除
  18. 认识PV/PVC/StorageClass
  19. 修改迅雷下载中“边下边播”的默认播放器
  20. 微信公众号怎么变现?

热门文章

  1. tbr tbn tbc
  2. 12.03-内存管理_Tagged Pointer
  3. SuperMap许可使用随手记
  4. 祝各位SAPER元旦快乐!
  5. 嵌入式芯片加密防抄板技巧简析
  6. 《物联网实战指南》读书笔记
  7. 9月17-18日黑客马拉松挑战赛-北京站
  8. 677_AUTOSAR_TR_Methodology_文档阅读4
  9. Typescript(一)
  10. 职业生涯规划与管理实操(zt)