我对于为什么以下提到的python代码中的合计结果为20感到非常困惑?我知道这是正确的,因为我自己在python上进行了测试。请记住,我是python的新手,并且仍然在学习,所以不要对我太刻薄。
您能否以外行的方式向我解释为什么结果为20? 我最近才知道total + = num表示total = total + num。
尽管这似乎是一个很愚蠢的问题,但我还是觉得有必要问一下,因为我不理解。
num = 0
total = 0
while num < 10:
total +=num
num+=2
print(total)
答案 0 :(得分:4)
在while循环的每次迭代中,total都会增加num的值,并且num会增加2。然后,对num的值进行10测试,然后循环继续直到测试失败。 > 因此,您有:
初始状态-> num = 0,总计= 0
第一次迭代-> num = 2,total = 0
第二次迭代-> num = 4,total = 2
第3次迭代-> num = 6,total = 6
第4次迭代-> num = 8,total = 12
第5次迭代-> num = 10,总计= 20
此时,num失败了while条件,因此该进程退出循环,其总值为20。
答案 1 :(得分:1)
num = 0
total = 0
while num < 10:
total +=num
num+=2
print("total =%s , num = %s" %(total,num))
输出为:
total =0 , num = 2
total =2 , num = 4
total =6 , num = 6
total =12 , num = 8
total =20 , num = 10
答案 2 :(得分:1)
好问题!检查任何编程语言中的while
和for
循环功能的一种非常不错的方法是在while
/ for
循环内打印每个步骤的输出。在这种情况下,我们可以使用以下代码(您代码的修改版本),在每个步骤中,我们将打印存储在total
和num
中的值。
num = 0
total = 0
while num < 10:
total +=num
print 'num = ', num, " total = ", total
num+=2
print "After final step, total = ", total
这是上面代码的输出:
num = 0 total = 0
num = 2 total = 2
num = 4 total = 6
num = 6 total = 12
num = 8 total = 20
After final step, total = 20
从以上输出中,您可以看到在for循环的每一步,num
的值一直增加了2
。 total
的值不断增加num
的值(即total_new = total_old + num
)。 num
的值等于或大于10
时,我们退出while循环,并且没有输出。