亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

為什么這么寫,輸出的結果是0

num = 0

sum = 0

while num > 1000:

? ? break

if num % 2 == 0:

? ? sum = sum + num

? ? num = num + 1

print(sum)


正在回答

2 回答

#我的一點個人看法,不喜勿噴

#第一次循環

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




1 回復 有任何疑惑可以回復我~
#1

weixin_慕妹8593821

我看錯了,while循環剛上來就被break了,那肯定只輸出sum原來的值(也就是零)啊
2021-12-13 回復 有任何疑惑可以回復我~
#2

寶慕林2344284 提問者

謝謝解答!
2021-12-14 回復 有任何疑惑可以回復我~

#正確的代碼因該是這樣的,你看一下是不是你要的效果

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)


1 回復 有任何疑惑可以回復我~
#1

寶慕林2344284 提問者

感謝解答,很棒哦。
2021-12-14 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

為什么這么寫,輸出的結果是0

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號