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

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

代碼出了什么問題呢

sum=0

i=1

while True:

? ? if i%2==0:

? ? ? ? continue

? ? sum=sum+i

? ? i=i+1

? ? if i>100:

? ? ? ? break

print (sum)


正在回答

3 回答

http://img1.sycdn.imooc.com//5e3a8a880001987902630369.jpg以下是我的個人理解,希望會對題主有幫助。

左側圖示的代碼可以達到題主想要的目的。這里要明確兩個概念:

continue和break的:

????break:用來跳出整個循環

????continue:跳過本次循環體中余下尚未執行的語句,立即進行下一 ????次的循環,可以理解為僅結束本次循環。

在這里,題主的代碼塊是個死循環。

i=1時,沒問題,代碼可以執行,執行一次循環后,i=2

i=2時,將執行continue,此時,后續代碼不會被執行,所以 i 不會執行+1,直接跳到下一次循環,當下一次執行時,i 還是2,此時構成死循環。



0 回復 有任何疑惑可以回復我~

明白了,謝謝

0 回復 有任何疑惑可以回復我~

在循環過程中,可以用break退出當前循環,還可以用continue跳過后續循環代碼,繼續下一次循環。

您的continue用錯啦

題目要求是100以內奇數和,所以邏輯是判斷i是否已經超過100,判斷i是否為奇數

所以i值的更新需要在continue前面

您的代碼會在第三行至第五行(第二次循環時,也就是i = 2 s時)陷入死循環,continue外的那個if(第四行)一旦條件符合(i為偶數),就會返回while?ture(第三行),此時?i并未更新,始終等于2

故我會修改為:

sum = 0

i = -1

while True:

? ? i = i + 1

? ? if i > 100:

? ? ? ? break

? ? if i % 2 == 0:

? ? ? ? continue

? ? sum = sum + i

print sum


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

舉報

0/150
提交
取消
初識Python
  • 參與學習       758323    人
  • 解答問題       8967    個

學python入門視頻教程,讓你快速入門并能編寫簡單的Python程序

進入課程

代碼出了什么問題呢

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

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

幫助反饋 APP下載

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

公眾號

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