Python while 执行逻辑疑问

初入变成,求如下代码块执行逻辑,为何结果不同,谢谢大师!

sum1=0
n = 0
while n <= 4:
    sum1=sum1+n
    n = n + 1
print(sum1)


sum1=0
n = 0
while n <= 4:
    n = n + 1
    sum1=sum1+n
    
print(sum1)

很显然啊,第一个循环,是从0加到4,而第二个循环,是从1加到5啊
第一个循环条件,n必须不大于4,然后循环内直接对n进行求和,这里n最大值是4,最小值是0
第二个循环条件,虽然也是检查n必须不大于4,但循环里先对n加上1,所以实际累加的范围是1到5

以下答案引用自GPT-3大模型,请合理使用:

动态图

上面的代码块的两种执行逻辑有着显著不同,这是由于在while语句中,n = n + 1的位置不同造成的。
第一种:
sum1=0 n = 0
while n <= 4: 
    sum1=sum1+n   //sum1=0+0=0
    n = n + 1     //n=1
while n <= 4:
    sum1=sum1+n   //sum1=0+1=1
    n = n + 1     //n=2
while n <= 4:  
    sum1=sum1+n   //sum1=1+2=3
    n = n + 1     //n=3
while n <= 4:  
    sum1=sum1+n   //sum1=3+3=6
    n = n + 1     //n=4
while n <= 4: 
    sum1=sum1+n   //sum1=6+4=10
    n = n + 1     //n=5
while n <= 4:  //n>4不满足循环条件,循环结束
print(sum1)  //输出sum1=10
第二种:
sum1=0 n = 0
while n <= 4: 
    n = n + 1     //n=1
    sum1=sum1+n   //sum1=0+1=1
while n <= 4: 
    n = n + 1     //n=2
    sum1=sum1+n   //sum1=1+2=3
while n <= 4:  
    n = n + 1     //n=3
    sum1=sum1+n   //sum1=3+3=6
while n <= 4:  
    n = n + 1     //n=4
    sum1=sum1+n   //sum1=6+4=10
while n <= 4: 
    n = n + 1     //n=5
    sum1=sum1+n   //sum1=10+5=15
while n <= 4:  //n>4不满足循环条件,循环结束
print(sum1) //输出sum1=15

如果我的回答解决了您的问题,请采纳我的回答

第一个是n还没变,sum就先加了n
第二个是n先变了,sum再去加n
结果肯定不同了

第一个sum1 = 0 + 1 + 2 + 3 + 4 = 10, 第二个sum1 = 1 + 2 + 3 + 4 + 5 = 15