python中求阶乘的和,pythonn阶乘求和

  python中求阶乘的和,pythonn阶乘求和

  Python阶乘求和的方法

  题目描述:

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

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

  (推荐学习:Python视频教程)

  方法一:

  #factTest1

  定义主():

  a=输入()

  总和=0

  如果a.isdigit():

  n=eval(a)

  如果编号为0:

  事实=1

  对于(1,n-1):范围内的I

  事实*=我

  总和=事实

  打印(总和)

  else:

  打印(输入错误,请输入正整数)

  else:

  打印(输入错误,请输入正整数)

  缅因()方法二:递归思想

  #factTest2

  导入系统

  sys.setrecursionlimit(5000)

  国防预算(一):

  总和=0

  如果i==0:

  返回0

  else:

  对于范围(1,i 1):中的x

  总和=事实(x)

  返回总和

  定义事实(m):

  如果m==0:

  返回1

  else:

  返回m *事实(m-1)

  定义主():

  n=输入()

  if n.isdigit():

  a=eval(n)

  如果a0:

  result=getSum(a)

  打印(结果)

  else:

  打印(输入错误,请输入正整数)

  else:

  打印(输入错误,请输入正整数)

  缅因()问题总结:

  使用递归方法求1024的阶乘时出现异常:递归错误:超过最大递归深度比较而言,超过了最大递归深度。有网友提到Python中默认的最大递归深度是1000,但是在实际测试中,我的电脑到了997就异常了。我不知道这是由什么决定的。因此,为了计算1024的阶乘,需要给最大递归深度一个较大的值。这里可以采用以下方法:

  导入系统

  Sys.setrecursionlimit(5000) #被修改为5000。此外,您还可以检查最大递归深度:

  导入系统

  sys . getrecursionlimit()# output :1000以上是Python阶乘求和法的详细内容。其他相关文章请多关注盛行的IT软件开发工作室!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: