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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

為什么第二個(gè)循環(huán)中的 i 比用戶給定的輸入少 1?

為什么第二個(gè)循環(huán)中的 i 比用戶給定的輸入少 1?

Go
藍(lán)山帝景 2022-01-18 13:38:08
出于某種原因,循環(huán)中的第二個(gè) i 比用戶給定的輸入小 1。我不知道我在哪里改變了它的價(jià)值我試圖解決的一種方法是改變對(duì)于范圍內(nèi)的 i (int(i))到對(duì)于范圍內(nèi)的 i (int(i)+1)確實(shí)解決了問(wèn)題,但不知道為什么需要它i = input()AliceShapeSequence = []BobShapeSequence = []for i in range (int(i)):        AliceShape = input()        AliceShapeSequence.append(AliceShape)    for i in range (int(i)):        BobShape = input()        BobShapeSequence.append(BobShape)    print(AliceShapeSequence)print(BobShapeSequence)除了兩個(gè)列表都有 3 個(gè)值,但 AliceShapeSequence 有 3 個(gè),BobShapeSequence 有 2 個(gè)(取決于我在這個(gè)例子中使用的輸入 3)
查看完整描述

3 回答

?
GCT1015

TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超4個(gè)贊

這實(shí)際上是一個(gè)非常有趣的問(wèn)題。讓我們逐步了解這里發(fā)生的事情。

i = input()

假設(shè)您的用戶輸入3. 現(xiàn)在,正如預(yù)期的那樣i3

for i in range (int(i)):

首先,range(int(i))被稱為。當(dāng)使用一個(gè)參數(shù)調(diào)用Pythonrange時(shí),會(huì)創(chuàng)建一個(gè)從0(包括)到該參數(shù)(不包括)的范圍。由于i3,這將創(chuàng)建一個(gè)包含值0、1和的范圍2

現(xiàn)在,您開(kāi)始迭代,使用迭代變量i。i首先設(shè)置為0,然后運(yùn)行代碼塊,1,運(yùn)行代碼塊,然后2,最后運(yùn)行代碼塊。

但是,有一個(gè)竅門(mén)。由于 Python 的作用域規(guī)則,您的迭代變量i實(shí)際上是與全局變量相同i的變量。因此,在迭代期間,您將全局 i值更新為0, then 1, then 2。所以當(dāng)我們開(kāi)始下一個(gè)循環(huán)時(shí):

for i in range (int(i)):

range(int(i))is range(2),它創(chuàng)建了一個(gè)包含元素的范圍,01不是你想要的。

要解決此問(wèn)題,請(qǐng)將迭代變量更改為其他變量——也許j,正如另一個(gè)答案所暗示的那樣。


查看完整回答
反對(duì) 回復(fù) 2022-01-18
?
小唯快跑啊

TA貢獻(xiàn)1863條經(jīng)驗(yàn) 獲得超2個(gè)贊

for 循環(huán)中的 i 每次運(yùn)行時(shí)都會(huì)更新。

range(5) // gives you 0-4

i 在循環(huán)的最后一個(gè)循環(huán)中設(shè)置為 4。使用不同的變量名。


查看完整回答
反對(duì) 回復(fù) 2022-01-18
?
喵喵時(shí)光機(jī)

TA貢獻(xiàn)1846條經(jīng)驗(yàn) 獲得超7個(gè)贊

該變量i是全局的,該模塊中定義的任何 python 函數(shù)或類都可以訪問(wèn)該變量:


你的鍵值和你的輸入變量是一樣的scope。


因此,您輸入3并且循環(huán)開(kāi)始計(jì)數(shù),0在循環(huán)i計(jì)數(shù)到2第一個(gè)循環(huán)之后,因此循環(huán)將從以下開(kāi)始2:


i = input()

AliceShapeSequence = []

BobShapeSequence = []


for x in range (int(i)):

        AliceShape = input()

        AliceShapeSequence.append(AliceShape)


for x in range (int(i)):

        BobShape = input()

        BobShapeSequence.append(BobShape)


print(AliceShapeSequence)

print(BobShapeSequence)

只需將向上計(jì)數(shù)鍵更改為其他變量名就可以了。


為了便于理解,只需運(yùn)行:


i = 3

AliceShapeSequence = []

BobShapeSequence = []


for i in range (int(i)):

        AliceShape = i

        AliceShapeSequence.append(AliceShape)

        print("first loop: i = {0} after {1} loop cycle".format(i, i+1))


for i in range (int(i)):

        BobShape = i

        BobShapeSequence.append(BobShape)

        print("second loop: i = {0} after {1} loop cycle".format(i, i+1))



print(AliceShapeSequence)

print(BobShapeSequence)


查看完整回答
反對(duì) 回復(fù) 2022-01-18
  • 3 回答
  • 0 關(guān)注
  • 192 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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