第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

將 for 循環(huán)轉(zhuǎn)換為 while 循環(huán)。我的問題位于最底部,因?yàn)槲覠o法為該問題提出更好的格式

將 for 循環(huán)轉(zhuǎn)換為 while 循環(huán)。我的問題位于最底部,因?yàn)槲覠o法為該問題提出更好的格式

森欄 2024-01-04 10:36:13
3.將以下for循環(huán)轉(zhuǎn)換為while循環(huán)    p=0    for k in range (5,19,3):        print("k=",k)        p+=k    else:        print(k*2)    print(p)輸出k= 5k= 8k= 11k= 14k= 173455我的 while 循環(huán)def q3():        k=5        p=0        while p<=55:            print("k=",k)            k+=3            p+=k        else:            print(k*2)        print(p)輸出k= 5k= 8k= 11k= 14k= 174070  問題。在 for 循環(huán)的最后兩行中,我的 kx 2 輸出為 34(生成的最后 k 值 = 17 x 2) print(p) 為 55(生成的所有 k 值的總和)而我的 while 循環(huán)的最后兩行生成了 kx 2: 40 (為什么它生成 40?) print(p) 是 70 (同樣,為什么它生成 70?)
查看完整描述

2 回答

?
滄海一幻覺

TA貢獻(xiàn)1824條經(jīng)驗(yàn) 獲得超5個贊

正如 Micheal 提到的,while 循環(huán)中的最后一條k +=3語句將被執(zhí)行,然后退出循環(huán)。您需要將您的限制(即 19)和 k 的初始值(即 5)減去 3,或者將最后的 +3 操作反轉(zhuǎn)k -=3。


解決方案一:


p=0                                                                                                                          

k=2                                                                                                                          

while k < 16:                                                                                                                       

    k += 3                                                                                                                    

    p += k                                                                                                                   

    print("k =",k)                                                                                                           

else:                                                                                                                        

    print(k*2) 

print(p)

解決方案2:


p=0                                                                                                                          

k=5                                                                                                                          

while k < 19:                                                                                                                       

    print("k =",k)

    p += k                                   

    k += 3                                                                                                                                                                                                                           

else:   

    k -= 3                                                                                                                     

    print(k*2) 

print(p)


查看完整回答
反對 回復(fù) 2024-01-04
?
www說

TA貢獻(xiàn)1775條經(jīng)驗(yàn) 獲得超8個贊

結(jié)束循環(huán)后,for loop計數(shù)器始終是最后一個可接受的數(shù)字,即 17,但while loop我們手動向計數(shù)器添加了 3,因此結(jié)束后,while loop計數(shù)器具有最后的修改值,即 20。這就是為什么我們應(yīng)該將 k 減少 3 行print(k*2)。該行else:也是多余的,因此您可以省略它。


print("for version")

p=0

for k in range (5,19,3):

    print("k=",k)

    p+=k

print(k*2)

print(p)


print("while version")

p=0

k=5

while k<19:

    print("k =",k)

    p += k

    k += 3

print((k-3)*2)

print(p)


查看完整回答
反對 回復(fù) 2024-01-04
  • 2 回答
  • 0 關(guān)注
  • 193 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號