使用Python阶乘求和的方法及问题总结

发布时间:2020-04-28 09:23:14

来源:亿速云

阅读:190

作者:小新

本篇文章和大家了解一下使用Python阶乘求和的方法及问题总结。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

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计算1~100的阶乘之和_在Python中递归函数调用举例and匿名函数lambda求1~100的和及计算阶乘举例...

    1.递归列出目录里的文件的脚本举例 列出目录中的文件可以通过下面方法:os.listdir() In [1]: import os In [4]: os.listdir('/root') Out[4] ...

  2. python求和_用python求和

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 我正在计算一个求和级数. 我有一个有值的表(见下文)a_(ij),并且p = 1 ...

  3. python 依据某几列累加求和_关于Python数组求和的四个问题及详解,让你更加爱Python!...

    总结了四个数求和的问题及详解,如果你正在学习Python的话,可以多学习一下. | 问题一:专题概述 代码相关 本节的内容 通过第一个问题来初步了解数组求和的两种常用方法 Two Sum 给定一个整数 ...

  4. python之禅 中文_《Python之禅》中对于Python编程过程中的一些建议

    <Python之禅>中对于Python编程过程中的一些建议 来源:中文源码网    浏览: 次    日期:2018年9月2日 [下载文档:  <Python之禅>中对于Pyt ...

  5. python 仪表数字识别_利用Python进行数字识别

    思路 通过Python实现KNN算法.而KNN算法就是K最近邻(k-Nearest Neighbor,KNN)分类算法,是一个理论上比较成熟的方法,也是最简单的机器学习算法之一.该方法的思路是:如果一 ...

  6. python大牛 关东升_《Python从小白到大牛》第4章 Python语法基础

    本章主要为大家介绍Python的一些语法,其中包括标识符.关键字.常量.变量.表达式.语句.注释.模块和包等内容. 标识符和关键字 任何一种计算机语言都离不开标识符和关键字,因此下面将详细介绍Pyth ...

  7. python list查找元素_使用python list 查找所有匹配元素的位置实例

    使用python list 查找所有匹配元素的位置实例 如下所示: import re word = "test" s = "test abcdas test 1234 ...

  8. python画交互式地图_使用Python构建交互式地图-入门指南

    python画交互式地图 Welcome to The Beginner's Guide to Building Interactive Maps in Python 欢迎使用Python构建交互式地 ...

  9. python正则表达式group用法_【Python】正则表达式用法

    导读:正则在各语言中的使用是有差异的,本文以 Python 3 为基础.本文主要讲述的是正则的语法,对于 re 模块不做过多描述,只会对一些特殊地方做提示. 很多人觉得正则很难,在我看来,这些人一定是 ...

  10. python出现的意义_[转]Python中下划线以及命名空间的意义

    Python 用下划线作为变量前缀和后缀指定特殊变量/方法. 主要存在四种情形 1. 1. object # public 2. __object__ # special, python system ...

最新文章

  1. dell support
  2. git 版本操作命令大全
  3. 成功解决TypeError: 'float' object cannot be interpreted as an integer
  4. 如何独立实现一个基于知识图谱的问答系统
  5. VTK:绘图之StackedPlot
  6. latex中erro:extra alignment tab has changed to\cr但列数没错的解决方法
  7. 【笔记】汇编..寄存器和地址的概述
  8. SQLServer2005/2008新的高效分页方法-row_number()over函数的使用
  9. 2021年大数据面试宝典完整版(含答案解析)
  10. 知识付费系统源码基于PHP开源的网站内容付费源码|知识付费小程序源码
  11. 【业余无线电BI1FKP】宝峰UV9R-Plus写频、自制写频线
  12. 08CMS之后台二次开发
  13. CodeSmith(C#)简单示例及相关小知识
  14. 2.0 正式开始整理一下工训赛(全国大学生工程实践和创新能力大赛),智能垃圾桶的制作流程和参赛历程
  15. java中画幅相机推荐_比全画幅更大 平民中画幅相机推荐
  16. RTL8367RB -CG
  17. onenote正在与服务器联系以获取信息,随时记录重要信息 – OneNote
  18. 下载夜神模拟器-安装autojs-连接vscode
  19. java基于springboot+vue+elementui的实验室预约管理系统 前后端分离
  20. qt emit是什么意思_2020年11月14日 无赞赏QT吗哪 :在历史的掌权者面前作信心的决断...

热门文章

  1. 中国无缘Windows 8盒装版 .
  2. 下次你再临脚来找我,我去你麻痹!
  3. 千兆交换机VS百兆交换机 哪一款更适合你?
  4. java-net-php-python-springboot社区志愿者管理系统计算机毕业设计程序
  5. 业务安全情报第16期 | 大促8成优惠券竟被“羊毛党”抢走!?
  6. Android逆向工程:带你领略MIUI系统的账号安全防范机制:账号是从哪里获取的?
  7. Unity 之Vector3的球形插值Slerp详解
  8. 【主流技术】ElasticSearch 在 Spring 项目中的实践
  9. Office 公式编号
  10. (蓝桥真题)剪格子(搜索+剪枝)