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

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

關于if的位置不同結果不同

我將if分別放在前面和后面 得出sum的結果是不一樣的,我猜應該是不一樣的, 但是不理解為什么。?

當if在放在前面, n大于20了, 就直接退出循環了 這個可以理解, 但是當if放在后面,按照我的理解是n大于20后應該也不循環了,為什么結果會不一樣呢?難道把n等于21也算進去了?

謝謝解答

正在回答

4 回答

因為程序是按代碼的順序來的 ?如果你放后面的你話 他會先執行前面的代碼 就是說

當上次循環執行,if n > 20: ? 時因為n=20 ,所以條件成立程序還會在循環執行一次

sum += x ? ?

? ? x *= 2

? ? n += 1 ? ? #到這n已經等于21了,所以說這個程序實際是執行了21次,而不是20次。

?if n > 20: ? ? # 如果你想放在后面 吧這個條件改成 n=20就行啦

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

菜菜菜牙

n = = 20
2018-07-30 回復 有任何疑惑可以回復我~
#2

慕數據4411304 提問者

非常感謝!
2018-08-06 回復 有任何疑惑可以回復我~

if 位置不同結果是相同的呀,但是sum=sum+x 位置不同結果就不一樣了,比如這樣:

while True:

? ? x = x * 2

? ? n = n + 1

? ? sum = sum + x

? ? if n > 20:

? ? ? ? break

就會發生n=21但是還沒到break 語句打破循環,所以再計算一次才會退出循環。


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

if放在前面 n大于20了 直接退出循環,相比于放在后面,就少執行一次求和,結果就不一樣了呀

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

這個應該和n的初始值有關吧

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

舉報

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

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

進入課程

關于if的位置不同結果不同

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

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

幫助反饋 APP下載

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

公眾號

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