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

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

while True:循環先后順序一比一直導致結果不一致????

sum = 0

x = 1

n = 1

while True:

? ? ? ?if n>20:

? ? ? ?break

? ?sum=sum+x

? ?x=x*2

? ?n=n+1

print sum


sum = 0

x = 1

n = 1

while True:

? ?sum=sum+x

? ?x=x*2

? ?n=n+1

if n>20:

? ? ? ?break

print sum

運行結果不一致:哪位大神能解答一下???

正在回答

4 回答

好像因為if n>20:放置的位置不同,導致n多循環了一次 所以結果不一致。。。。。我是小白,所以如果不對,別怪我!

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

七安_ 提問者

明白了,一個是n=1參加循環,輸出n=n+1,一個是n=n+1參加循環,輸出n
2016-07-28 回復 有任何疑惑可以回復我~

按照樓上說法,如果你改為n=19(或者是你n=21)就能得到正確答案,實際上并不會

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

反對已經采納答案,實際上是一樣的,我兩種都試過,對于if放在循環結尾的和if處于開頭的是一樣的,因為在循環的最后都是執行if,處于開頭的確實多進行了一次循環,但這次循環下面的代碼塊不會被執行,因為已經break了

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

運行的結果是一致的啊,都是1048575,沒有錯誤,都是一樣的

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

七安_ 提問者

你可以才交互環境試一下
2016-07-28 回復 有任何疑惑可以回復我~

舉報

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

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

進入課程

while True:循環先后順序一比一直導致結果不一致????

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

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

幫助反饋 APP下載

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

公眾號

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