另一個附加的問題...這是我的代碼:Python的 - 附加幫助 - 串名單
def s(xs,n,m):
t = []
while n < m:
n += 2
t.append(xs[n])
return t
當我評價如下:
x = s('African', 0, 3)
爲什麼它返回這個?:
['r', 'c']
另一個附加的問題...這是我的代碼:Python的 - 附加幫助 - 串名單
def s(xs,n,m):
t = []
while n < m:
n += 2
t.append(xs[n])
return t
當我評價如下:
x = s('African', 0, 3)
爲什麼它返回這個?:
['r', 'c']
while n < m:
n += 2 # at this point n = 2 because you've passed 0
t.append(xs[n]) # you append r to t since xs[2] = r
但ñ<米靜止,因此n ext iteration:
while n < m:
n += 2 # at this point n = 4
t.append(xs[n]) # you append c to t since xs[4] = c
現在n> m,所以函數返回['r', 'c']
。一切都是正確的。
好了,行由行...
您的電話是這樣的:
x = s('African', 0, 3)
因此發生的事情是:
步驟1 - 初始assignement
def s(xs,n,m):
xs='African'
,n=0
和m=3
,然後:
t = []
(所以,空單t
介紹)。
步驟2. - 環
然後在以下條件被評估:
while n < m:
到True
,因爲0 < 3
。
然後n
增加:
n += 2
所以現在等於2
。
然後適當的元素被添加到空t
列表:
t.append(xs[n])
和這個元素 「r
」,因爲xs[2] == 'r'
。
然後n < m
條件被再次評估以True
(因爲2 < 3
),因此循環再次執行:
n += 2
和n
現在等於4
。
然後從xs
串適當炭被附加到t
列表(已具有一個元件,r
,如我們上面提到的)。
t.append(xs[n])
和這個元素爲 「c
」(因爲xs[4]
正是 「c
」)。
然後條件while
循環再次評估,但這次False
(因爲4 < 3
是不正確的),因此該循環停止執行...
(第3步 - 後環)...和程序流轉到該函數的最後聲明,這就是:
return t
而且t
返回我們用兩個元素填充的列表 - 因此,該函數返回列表['r', 'c']
。
這足夠清楚了嗎?它有幫助嗎?
你期望什麼? – Nemoden
因爲你告訴它... – chown
抱歉,我必須失明..大聲笑 – jetair