为什么while循环最后的结果是0!

img

img


为什么while循环最后的输出结果是0!,要如何修改啊?for循环显示的没有问题啊

因为while循环内 n每次都减一,而循环的条件是n>=1,
所以跳出循环的时候n=0
你可以使用一个变量替代n,让n的值不变
比如m=n
然后将while循环的n都换成m,最后输出还是用n

m = n
while m>=1:
    total*=m
    m-=1

img

img


此处while(n>=1)执行循环体,n>=1也就是意味着n=1的时候也会执行循环,所以n=1,执行循环体内容,经过n-=1之后,n=0
之后输出n,自然就是0了。

希望对题主有所帮助,可以的话,帮忙点个采纳!