python小代码之阶乘求和
2017-03-28 09:31
148 查看
需求:
阶乘:也是数学里的一种术语;阶乘指从1乘以2乘以3乘以4一直乘到所要求的数;在表达阶乘时,就使用“!”来表示。如h阶乘,就表示为h!;阶乘一般很难计算,因为积都很大。
提问:求1+2!+3!+...+20!的和
实现环境:python3
编辑器:pycharm
分析:1、阶乘的计算就是比较麻烦的一部分,用递归函数实现是比较好的方案,先定义一个递归函数实现求阶乘功能。
完整源代码以及结果:
阶乘:也是数学里的一种术语;阶乘指从1乘以2乘以3乘以4一直乘到所要求的数;在表达阶乘时,就使用“!”来表示。如h阶乘,就表示为h!;阶乘一般很难计算,因为积都很大。
提问:求1+2!+3!+...+20!的和
实现环境:python3
编辑器:pycharm
分析:1、阶乘的计算就是比较麻烦的一部分,用递归函数实现是比较好的方案,先定义一个递归函数实现求阶乘功能。
def recursion(n): '定义递归函数实现求阶乘功能' if n==1: return 1 else: return n*recursion(n-1)2、求和思路,可以直接求和,也可以定义一个列表将for遍历遍历得到的阶乘结果追加到列表,然后使用sum()函数求和。
sum_0=0 print("for循环直接调用递归函数求和".center(80,"*")) #显示效果明显 for i in range(1,21): sum_0 +=recursion(i) print(sum_0) 列表求和方案: list=[] #定义一个空的列表,将调用递归函数生成的阶乘值追加到列表 print("将1-20的阶乘写入列表,使用sum函数求和".center(80,"*")) #显示效果明显 for i in range(1,21): list.append(recursion(i))# 将调用递归函数生成的阶乘值追加到列表 print(sum(list)) #列表求和 两者代码行数一样多都可以实现其功能。使用知识点:递归函数 for循环 range()函数等。
完整源代码以及结果:
#/usr/bin/env python #_*_coding:utf-8_*_ def recursion(n): '定义递归函数实现求阶乘功能' if n==1: return 1 else: return n*recursion(n-1) list=[] #定义一个空的列表,将调用递归函数生成的阶乘值追加到列表 print("将1-20的阶乘写入列表,使用sum函数求和".center(80,"*")) #显示效果明显 for i in range(1,21): list.append(recursion(i))# 将调用递归函数生成的阶乘值追加到列表 print(sum(list)) #列表求和 sum_0=0 print("for循环直接调用递归函数求和".center(80,"*")) #显示效果明显 for i in range(1,21): sum_0 +=recursion(i) print(sum_0) 结果: *****************************将1-20的阶乘写入列表,使用sum函数求和***************************** 2561327494111820313 ********************************for循环直接调用递归函数求和********************************* 2561327494111820313经过验证两者都可以实现基本的功能,但是未测试更大数据量的计算。
相关文章推荐
- Python3 利用函数 实现阶乘、列表中删除指定元素、等差数列求和
- 一些C语言的代码,求和、最大值、阶乘、闰年、素数、大小写转换
- 一句代码计算阶乘(python)
- 一句代码计算阶乘(python)
- [ZT]C Java PHP Perl Python 的程序代码美化工具
- C Java PHP Perl Python 的程序代码美化工具(Pretty Print Program/Source Code Beautifier)使用
- 利用 Python 做简单的代码生成
- 使用python写的代码行数统计程序
- PythonCard中的一段代码...
- C Java PHP Perl Python 的程序代码美化工具
- 【代码】10000以内的阶乘
- 〔转载〕C Java PHP Perl Python 的程序代码美化工具
- [转]Python下载百度新歌100的代码
- python代码(1)---冒泡排序
- Python代码怎样动起来?(还是自己译的)
- gdal带的影像合并Python代码
- 一个简单的PYTHON代码
- python小代码:ElapsedTime
- Python 在 Google的代码竞赛中
- python代码(4) ---兔子毒药问题