為什么這么寫,輸出的結果是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
#我的一點個人看法,不喜勿噴
#第一次循環
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
2021-12-13
#正確的代碼因該是這樣的,你看一下是不是你要的效果
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)