为什么这么写,输出的结果是0
num = 0
sum = 0
while num > 1000:
break
if num % 2 == 0:
sum = sum + num
num = num + 1
print(sum)
num = 0
sum = 0
while num > 1000:
break
if num % 2 == 0:
sum = sum + num
num = num + 1
print(sum)
2021-12-13
#我的一点个人看法,不喜勿喷
#第一次循环
num = 0
sum = 0
while num > 1000:
break
if num % 2 == 0:
sum = sum + num
此时sun为 0 ,num也为0
num = num + 1
#此时num为1
print(sum)
#第二次循环
num = 0
sum = 0
while num > 1000:
break
if num % 2 == 0:
此时num为1,于2相除余数为1,因此 sum = sum + num 和 num = num + 1 的代码系统不会运行
sum = sum + num
num = num + 1
#此时代码陷入死循环
print(sum)
#因此输出0
#正确的代码因该是这样的,你看一下是不是你要的效果
num = 0
sum = 0
while num <= 1000:
#限定循环范围,num超出了这个范围那么循环就不会继续了,也就是说,break在这里可以不用
num = num + 1
#要把 num 每次循环加一的指令放到 if 判断外面,不然 if 只会运行一次,因为当num为 1 时,if判断就不通过了
if num % 2 == 0:
#让系统判断num的数值,num/2 是否余数为1 ,也就是说,是否为偶数
sum = sum + num
#如果num是偶数,那么将偶数相加起来,比如说 10 以内的偶数为 0 2 4 6 8 10 ,每次if 判断成立,那么
#公式:sum(要被赋值的)= sum(原来的) + num
#数值:0 = 0 + 2
#第一次偶数相加
#数值:2 = 2 + 4
#第二次偶数相加
#数值:6 = 6 + 6
#第三次偶数相加
#以此类推
print(sum)
举报