python中的阶乘求和公式_Python阶乘求和的方法
Python阶乘求和的方法
题目描述:
获得用户输入的整数n,输出 1! 2! … n!的值。
如果输入数值为0、负数、非数字或非整数,输出提示信息:输入有误,请输入正整数。
(推荐学习:Python视频教程)
方法一:#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中bd是什么属性_python数据类型及其特有方法
一.运算符 in方法 "hello" in "abcdefghijklmnopqrstuvwxyz" "li" in ["gg&q ...
- python中mean算函数吗_Python numpy.mean函数方法的使用
numpy.mean numpy.mean(a, axis=None, dtype=None, out=None, keepdims= 沿指定轴计算算术平均值. 返回数组元素的平均值.默认情况下,平均 ...
- python中cos函数怎么用_Python cos() 函数 | 使用方法 入门教程 基础教程
Python cos() 函数 描述 cos() 返回x的弧度的余弦值. 语法 以下是 cos() 方法的语法: import math math.cos(x) 注意:cos()是不能直接访问的,需要 ...
- python中异或怎么算_python 异或运算的前提_异或运算公式
Python基础(10)–数字-Python-第七城市 609x288 - 73KB - JPEG Python基础(10)--数字_资讯_突袭网 609x288 - 33KB - JPEG pyth ...
- [转载] python中for语句用法_详解Python中for循环的使用_python
参考链接: 在Python中将else条件语句与for循环一起使用 这篇文章主要介绍了Python中for循环的使用,来自于IBM官方网站技术文档,需要的朋友可以参考下 for 循环 本系列前面 &q ...
- 怎么把竖列中的数相加python_关于python中pandas.DataFrame对行与列求和及添加新行与列示例代码...
pandas是python环境下最有名的数据统计包,而DataFrame翻译为数据框,是一种数据组织方式,这篇文章主要给大家介绍了关于python中pandas.DataFrame对行与列求和及添加新 ...
- python中for语句用法_详解Python中for循环的使用_python
这篇文章主要介绍了Python中for循环的使用,来自于IBM官方网站技术文档,需要的朋友可以参考下 for 循环 本系列前面 "探索 Python,第 5 部分:用 Python 编程&q ...
- python中装饰器的作用_Python装饰器详解,详细介绍它的应用场景
装饰器的应用场景附加功能 数据的清理或添加:函数参数类型验证 @require_ints 类似请求前拦截数据格式转换 将函数返回字典改为 JSON/YAML 类似响应后篡改为函数提供额外的数据 moc ...
- python中格式化字符串的使用_Python中的格式化字符串
Python中的格式化字符串方法: 在学习了一段时间的Python之后,回过头来看书的时候,发现Python中最简单的关于格式化输出字符串的方法也有多种,而这并不是类似于茴香豆的"茴&quo ...
最新文章
- 编程中经常碰到且觉得难的事是什么?
- ajax requestbody传值,ajax POST方法调用后@RequestBody属性为空
- Oracle 10.2.0.5 非归档current redolog损坏处理一例
- [css] 说下line-height三种赋值方式有何区别?
- Retrofit的使用教程(二)
- CentOS上安装man手册
- Sqoop导入数据--split by 和 --m(大于1)配合使用
- 3-13 图片几何变换小结
- thinkphp 2.x 任意代码执行
- 高项47个过程及输入、输出、工具解释
- FAQ01【Hadoop】:Could not locate executable null\bin\winutils.exe in the Hadoop binaries.
- 解决Visual Studio 2015创建工程时的“DNX SDK version 'dnx-clr-win-x86.1.0.0-beta5' failed to install.”错误
- sequencer和driver
- Flutter PullToRefresh上下拉刷新控件
- python的开发者太负责任了_人生苦短,我用 Python
- windows和ubuntu双系统,ubuntu下硬盘变成只读状态,无法粘贴文件的有效解决方法
- PLC通过智能网关 MQTT对接阿里云(带CA证书加密),实现物模型数据显示
- 解决数值输入框可以输入字母E的问题
- RHEL6.0系统自动安装之PXE
- 四点流程做好商机管理