Python编程入门到实践3:阶乘求和计算

sum=0;tmp=1 
>>> for i in range(1,21):
... tmp*=i 
... sum+=tmp 
... 
>>> print("阶乘的结果是:{}".format(sum)) 

解析:

1. 初始化变量

sum = 0 
tmp = 1
  • sum 被初始化为 0。它将用于累加每次循环中的阶乘结果。
  • tmp 被初始化为 1。它用于计算阶乘(即,1 到 i 的乘积)。

2. 循环计算阶乘并累加

for i in range(1, 21): 
    tmp *= i 
    sum += tmp
  • for i in range(1, 21):这个循环会从 i=1 开始,一直到 i=20。range(1, 21) 生成从 1 到 20(包括 20)的整数序列。
  • tmp *= i:在每次循环中,tmp 都会与当前的 i 相乘,tmp 的值变为当前的 i 的阶乘。例如,当 i=3 时,tmp 的值会变为 1*2*3(即 6)。
  • sum += tmp:将 tmp 的值累加到 sum 中。这样,每次计算出一个新的阶乘值后,都会加到 sum 中。

3. 输出结果

print("阶乘的结果是:{}".format(sum))
  • 最后,循环结束后,程序打印 sum 的值,也就是从 1! 到 20! 所有阶乘结果的累加和。

运行过程举例

  • 当 i=1 时,tmp = 1 * 1 = 1,sum = 0 + 1 = 1
  • 当 i=2 时,tmp = 1 * 2 = 2,sum = 1 + 2 = 3
  • 当 i=3 时,tmp = 2 * 3 = 6,sum = 3 + 6 = 9
  • 依次类推...

最终,当循环结束时,sum 中包含了从 1! 到 20! 所有阶乘的累加和。

最终输出

  • print 语句将最终的累加结果打印出来,即 2561327494111820313。这个值是所有阶乘的累加和。

注意:

缩进问题在 Python 中,for 循环的主体部分必须通过缩进来表示,所有属于循环体的代码都需要比 for 语句本身多缩进一级。如果 print 语句不在 for 循环体内,但你却缩进了它,Python 会认为这是一个语法错误。

第一种情况:print 语句在循环外,则实现阶乘最终求和,为以上演示代码。

第二种情况:print 语句在循环内,代码如下

sum=0;tmp=1 
for i in range(1,21): 
... tmp*=i 
... sum+=tmp 
... print("阶乘的结果是:{}".format(sum))

运行则如下

在这个例子中,print 语句被放在了 for 循环体内部,每次循环都会执行 print 语句。

但需要注意print语句的正确缩进,若print 语句的缩进与其他循环体内部的代码缩进不一致,导致 Python 无法正确识别代码结构。或者for 循环输入完后未正确缩进,直接输入 print 语句会被解释器视为语法错误。则会报错SyntaxError。

  • 18
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值