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

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

這么些為什么不運行?

這么些為什么不運行? sum = 0 x = 1 while True: ? ?x = x + 1 ? ?if x % 2 == 1 and x<=100: ? ? ? ?continue ? ?sum = sum + x print sum

正在回答

5 回答

同學,這個循環的條件是True,也就是永遠都會滿足循環條件,意味著循環進入了死胡同。而代碼中的continue語句只是跳出當前循環,繼續下一輪循環,而在循環條件中下一輪條件還是滿足的,所以無法跳出循環,診斷結果是缺少break語句跳出循環。

上面的回答把代碼中條件語句拆開為兩句也可以,但是我覺得按照題主的思路,這個代碼要實現的應該是在100以內的數中求出滿足2的倍數的數之和(也可以說除0以外的偶數之和),那么這里可以給出代碼如下:

sum = 0

x = 1

while True:

??? x = x +1

??? if x > 100:

??????? break

??? if x % 2 = 0:

??????? sum = sum + x

print sum

或者我覺得更簡潔的循環方式是將條件語句改為:

while x <= 100:
然后去掉上面判斷大于100的條件語句

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

敗家哥

= 是賦值 run下
2016-08-31 回復 有任何疑惑可以回復我~
#2

若夫螢雨霏霏 回復 敗家哥

是的,抱歉這里是我寫錯了,謝謝!
2016-08-31 回復 有任何疑惑可以回復我~
#3

若夫螢雨霏霏

很抱歉,在條件語句那里我把 == 寫成了 =
2016-08-31 回復 有任何疑惑可以回復我~


sum?=?0
x?=?1
while?True:
????x?=?x?+?1
????if?x?>?100:
????????break
????if?(x?%?2)?==1:
????????continue
????sum?=?sum?+?x
print?(sum)


0 回復 有任何疑惑可以回復我~
#!/usr/bin/env?python3
#?-*-?coding:?utf-8?-*-
sum?=?0?
x?=?1?
while?x<101:????
????x?=?x?+?1????
????if?x?%?2?==?1?and?x<=100:????????
????????continue????
????sum?=?sum?+?x
print?(sum)


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

?if x % 2 == 1 and x<=100: ? 這句應該分為倆句,and 的話是與運算,若判斷 x % 2 == 1為假的話,x <= 100 就不會執行下去的了,再結合上面小伙伴說的,再用break語句進行 x 的值判斷

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

代碼進入了死循環....if判斷應該分開 ? if x > 100 break ? 利用這個退出循環...

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

舉報

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

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

進入課程

這么些為什么不運行?

我要回答 關注問題
微信客服 幫助反饋 APP下載

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

公眾號

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