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

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

5-6 while語句中 if語句的前后順序問題

sum = 0

x = 1

n = 1

while True:

? ? sum = sum + x

? ? x = x*2

? ? n = n+1

? ? if n > 20:

? ? ? ? break

print sum

if 語句的部分,放在前面和放在后面有區別嗎?會不會影響結果?在這道題目中好像沒有影響。

正在回答

1 回答

if語句若是在n=n+1前面 ,第20次時 ,if中的n==20,所以還會執行第二十一次,if要放在n=n+1前面,改成if n>=20

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

weibo_嘿不純粹_0

改成if n>=20后,那樣答案變成1048574了,好疑惑
2016-12-13 回復 有任何疑惑可以回復我~
#2

weibo_嘿不純粹_0

sorry,不用改,提問者代碼運行結果是1048575,改成n>=20后結果反而少加了第20項(2的19次方)
2016-12-13 回復 有任何疑惑可以回復我~
#3

ypgao 回復 weibo_嘿不純粹_0

1048574不就是對的了嗎
2016-12-13 回復 有任何疑惑可以回復我~
#4

weibo_嘿不純粹_0 回復 ypgao

答案是1048575...
2016-12-13 回復 有任何疑惑可以回復我~
#5

weibo_嘿不純粹_0 回復 ypgao

我把sum=sum+x放在x=x*2之后,而又在n=n+1之前,少加了1,才會出現這么詭異的錯誤。。。
2016-12-13 回復 有任何疑惑可以回復我~
查看2條回復

舉報

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

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

進入課程

5-6 while語句中 if語句的前后順序問題

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

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

幫助反饋 APP下載

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

公眾號

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