python小代码_python小代码之阶乘求和
需求:
阶乘:也是数学里的一种术语;阶乘指从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
经过验证两者都可以实现基本的功能,但是未测试更大数据量的计算。
原文地址:http://dreamlinux.blog.51cto.com/9079323/1910979
python小代码_python小代码之阶乘求和相关推荐
- python使用技巧_python小技巧
平时开发中,一些使用的技巧,记录一下,持续更新---- 1.当函数默认参数为可变对象时,每次调用函数,是不会重新创建对象的 示例代码1: def ddd(a,b=[]): b.append(a)ret ...
- python开发图形小程序_python小程序图画 python开发微信小程序
你用python写过哪些好玩的微信小程序? 首先要明确一点,python是后台语言,不能直接用python来写微信小程序的. 微信小程序是用javascript和css来写的. python只是用来给 ...
- python复利计算_python复利代码
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 比如在<零基础学编程012:画出复利曲线图>提到的numpy和mat ...
- python折叠代码_Python实现代码块儿折叠
Python实现代码块儿折叠 在python中方法和类都是可以折叠的,但是很多时候需要按照实现的功能将一部分代码折叠起来. 可以用着样的注释代码实现: # ''' your code ''' # 很简 ...
- python画画的代码_python画画代码
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! life is short, just use python.自从08年接触py ...
- python五子棋游戏_python小项目之五子棋游戏
本文实例为大家分享了python五子棋游戏的具体代码,供大家参考,具体内容如下 1.项目简介 在刚刚学习完python套接字的时候做的一个五子棋小游戏,可以在局域网内双人对战,也可以和电脑对战 2.实 ...
- python人物代码_Python 超级玛丽代码实现:人物行走和碰撞检测
功能介绍 人物行走 人物的行走速度这边分成水平方向(X轴)和竖直方向(Y轴),水平方向的速度要考虑加速度和摩擦力,竖直方向的速度要考虑重力加速度.水平方向:设定X轴向右走的速度为大于0,向左走的速度为 ...
- python只能用一行代码_Python 一行代码能实现丧心病狂的功能
手头有 109 张头部 CT 的断层扫描图片,我打算用这些图片尝试头部的三维重建.基础工作之一,就是要把这些图片数据读出来,组织成一个三维的数据结构(实际上是四维的,因为每个像素有 RGBA 四个通道 ...
- python保存变量_python – 在代码运行之间保存变量的数据
对于一个学校项目,我正在用 Python制作一个刽子手游戏.现在我的代码从字典中选择一个单词,如下所示: WordList = ["cat", "hat", & ...
- python写了代码_Python写代码的用法建议
1.Mutable and immutable types Python有两种内置或用户定义的类型 可变类型是允许就地修改内容的类型.典型的可变列表是列表和词典:所有列表都有变异方法,如 list.a ...
最新文章
- BUUCTF web(一)
- 利用jQuery和bootstrap更改radio样式
- c语言编程计算人口增长模式转变示意图,读“人口增长模式及其转变示意图”,回答下列问题。(5分)(1)图中字母代表的人口增长模式是:A____________、B____...
- 从功能层次,阐述CPU、接口和外设之间的交互
- java学习(15):巩固练习
- Redis面试常问2-- 从海量数据里查询某一固定前缀的key? SCAN cursor
- MySQL数据库查询重复数据办法
- Ubuntu 12.04安装及配置vsftp步骤
- vue-cli的项目中关于axios的全局配置,结合element UI,配置全局loading,header中做token传输...
- 66. 编写高效的 JavaScript
- 广告传媒实际税负怎么计算_传媒宣传业增值税税负多少
- 【疑难解决】将设备通过Ehome协议接入EasyCVR,级联后视频无法播放如何解决?
- zeppelin配置hive教程
- 小米笔记本Air13.3扩充硬盘
- 随笔---为什么一到选课时教务系统就卡顿甚至登不上去
- 华中科技大学计算机叶磊,叶磊-华中科技大学公共卫生学院
- Linux基础知识详解
- 电信业Hadoop应用分析
- 博士员工离职率21.8%,任正非反思:华为这么大,英雄为何无用武之地?
- 计算机408王道考研资料、笔记分享 ~ ~