非常非常疑惑,请大神帮忙啊!
Topic source把自己当CPU执行一遍最后的循环不就明白了?
while (n<=100): # 现在n=100是最后一次循环
n=n+1 # n=100+1=101, 现在n=101
m=m+n # m=m+101,最后一次加的是101
如何修改?当然是先加m再加n了:
while (n<=100):
m=m+n
n=n+1
结论:写程序时务必仔细考虑循环边界问题,第一次和最后一次循环的代码执行的逻辑很可能不对
实际上是结果为5151,多加了101
n=0 m=0 while (n<=100): n=n+1 m=m+n print(m)
这是你的代码,从0执行到100,共101次, 第0次循环,n=0判断循环条件后,先执行n = n +1,n为1 第99次循环,n=99判断可以循环后,n = n +1,n为100 第100次循环,....,n = n+ 1,n为101
累加后,多加了101
修改后:
num = 1 sum = 0 while(num <= 100): sum = sum + num num += 1
print(sum)
- 1
星星的天空
n=0 m=0 while (n<=100): n=n+1 m=m+n print(m)
最后结果是5150!多出来了100,不知道哪里来的!百思不得解啊啊