為什么這么寫,輸出的結(jié)果是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
舉報
2021-12-13
#我的一點(diǎn)個人看法,不喜勿噴
#第一次循環(huán)
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)
#第二次循環(huán)
num = 0
sum = 0
while num > 1000:
? ? break
if num % 2 == 0:
此時num為1,于2相除余數(shù)為1,因此 sum = sum + num 和 num = num + 1 的代碼系統(tǒng)不會運(yùn)行
? ? sum = sum + num
? ? num = num + 1
#此時代碼陷入死循環(huán)
print(sum)
#因此輸出0
2021-12-13
#正確的代碼因該是這樣的,你看一下是不是你要的效果
num = 0
sum = 0
while num <= 1000:
#限定循環(huán)范圍,num超出了這個范圍那么循環(huán)就不會繼續(xù)了,也就是說,break在這里可以不用
? ? num = num + 1
#要把 num 每次循環(huán)加一的指令放到 if 判斷外面,不然 if 只會運(yùn)行一次,因?yàn)楫?dāng)num為 1 時,if判斷就不通過了
? ? if num % 2 == 0:
#讓系統(tǒng)判斷num的數(shù)值,num/2 是否余數(shù)為1 ,也就是說,是否為偶數(shù)
? ? ? ? sum = sum + num
#如果num是偶數(shù),那么將偶數(shù)相加起來,比如說 10 以內(nèi)的偶數(shù)為 0 2 4 6 8 10 ,每次if 判斷成立,那么?
#公式:sum(要被賦值的)= sum(原來的) + num
#數(shù)值:0? ? ? = 0? ? ? +? ? ? 2
#第一次偶數(shù)相加
#數(shù)值:2????? = 2????? +? ? ? 4
#第二次偶數(shù)相加
#數(shù)值:6? ? ? = 6? ? ? +? ? ? 6
#第三次偶數(shù)相加
#以此類推
print(sum)