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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么這是以下代碼的輸出?

為什么這是以下代碼的輸出?

慕雪6442864 2021-12-21 15:07:12
我無法理解為什么此代碼的輸出為 16。如果我的格式有誤,我深表歉意,我是編碼新手。我已經寫了幾次代碼以確保我的格式正確x = 1while x < 10:    x += xprint(x)為我打印的輸出是 16。
查看完整描述

2 回答

?
尚方寶劍之說

TA貢獻1788條經驗 獲得超4個贊

對于我,這說得通。該語句x += x相當于x *= 2,加倍x。


為了幫助您理解,請x在每次迭代后嘗試打印:


x = 1

while x < 10:

    x += x

    print(x)

輸出:


2

4

8

16

在每一步:


2    # greater than 10? no

4    # greater than 10? no

8    # greater than 10? no

16   # greater than 10? yes, stop loop


查看完整回答
反對 回復 2021-12-21
?
滄海一幻覺

TA貢獻1824條經驗 獲得超5個贊

也許更改 的位置print(x)可以幫助您:


x = 1

print(1)

while x < 10:

    x += x

    print(x)

輸出:


1

2

4

8

16

如您所見,有一個共同的贊助人。每次迭代都會while復制之前的值x(這是由于x += x,可以解釋為 x 的兩倍)。


那么,條件while x < 10就很簡單了。


1     # Less than 10. Keep looping.

2     # Less than 10. Keep looping.

4     # Less than 10. Keep looping.

8     # Less than 10. Keep looping.

16    # Greater than 10. STOP!


查看完整回答
反對 回復 2021-12-21
  • 2 回答
  • 0 關注
  • 146 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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