2016-05-01 34 views
-2

在( 「羅納爾多」, 「胡」)Z:有人可以向我解釋「for循環」嗎?

INV = 「你好」 +(Z)+ 「請」

我想打印 「嗨羅納爾多請」 和「嗨胡里奧請「但是當我鍵入」打印(INV)只打印最後一個,這是爲什麼?

謝謝!

+1

縮進在Python中很重要,你沒有在你的問題的代碼中包含任何代碼,這使得其他人很難知道你在做什麼。由額外的四個空格縮進和堆棧溢出將很好地格式化代碼! – Blckknght

+0

很難確切知道你的代碼是什麼。將它粘貼到你的問題到底是怎麼回事,突出顯示它,然後按Ctrl-k使它成爲一個代碼塊。我的猜測是,你並沒有將你的'print'調用縮小得足夠遠。 – zondo

+0

書籍和教程是*設計*來解釋這樣的事情。堆棧溢出不是。 –

回答

1

for x in y:循環,程序執行用於y每個值的縮進塊。在每個迭代,您可以通過名稱x訪問該值。通過您的程序

for z in ("Ronaldo", "Julio"): 
    inv = "Hi " + (z) + " Please" 
print(inv) 

流程是這樣的:

  1. z = "Ronaldo"
  2. 評估"Hi " + (z) + " Please" - >評估爲"Hi Ronaldo Please"
  3. inv = "Hi Ronaldo Please"。從現在起,INV具有價值"Hi Ronaldo Please"
  4. 下一輪for循環,z = "Julio"
  5. 評估"Hi " + (z) + " Please" - >評估爲"Hi Julio Please"
  6. inv = "Hi Julio Please"。從現在開始,inv的值爲"Hi Julio Please"
  7. for for循環結束 - 我們覆蓋了所有值。
  8. 運行print(inv) - 打印inv的當前值,"Hi Julio Please"

正如您所看到的,我們僅運行一次打印,並打印了最新值inv。相反,你要爲循環運行在打印,像這樣:

for z in ("Ronaldo", "Julio"): 
    inv = "Hi " + (z) + " Please" 
    print(inv) 

採用這種結構,for循環的每次運行期間,一些被打印出來。

+0

哦,我知道了,非常感謝! – redrookie

+0

如果此(或任何其他)答案已解決您的問題,請考慮[接受它](http://meta.stackexchange.com/a/5235/141962)。謝謝! – phihag

相關問題