簡體   English   中英

在for循環外打印一個值

[英]printing a value outside of the for loop

我正在初學者編程課上學習決賽。 期中考試我錯了。 我說答案是1,但是答案實際上是0。我想知道是否有人可以向我解釋為什么它是0。這是因為z最初分配為0嗎? 我不確定如何使用此受限代碼來判斷它是否是局部變量。 感謝您提供的任何幫助!

z=0
for x in range(1, 200, -1):
    z=z+1
print(z)

range(1, 200, -1)處沒有元素,循環甚至沒有開始。 因此z從未改變其值。

在此處閱讀有關步驟(范圍的第三個參數)arg的信息:

https://docs.python.org/2/library/functions.html#range

一種很好的查看方式是將范圍轉換為列表:

print(list(range(1, 200, -1)))
>>> []

您應該在解釋器中對其進行測試。 循環永遠不會進行迭代。 想想正在增加什么。

您的范圍是1到200,但是您選擇從1開始的每一步都以-1遞增,因此在這種情況下您不能向后移動。

它保持為零,因為范圍是1、200,但您步進-1,因此for循環內的表達式從未真正執行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM