[英]Syntax - Assigning a variable then putting it in while loop doesn't work. Why?
我想知道為什么這行不通:
n = 10
x = 1
while x < n:
x += 1
n += n * (x - 1)
print n
我已經分配了n = 10,將其放置在while循環中應該就像在其中放置10。 在Terminal中運行它的行為就像我在其中放置了raw_input()一樣。
這有效:
n = 10
x = 1
while x < 10:
x += 1
n += n * (x - 1)
print n
在我看來...
謝謝!
在第一個示例中,您的極限n
正在增加( n += n * (x - 1)
),並且您有無限循環。 在第二個中,限制為常數( 10
),因此終止。
因為在while循環中,對於每次迭代,您還更新了n
while x < n:
x += 1
n += n * (x - 1)
因此,在前幾次迭代之后,n不再是10,並且一直在增加。
在執行更多類似類型的循環之后,我終於明白了。 原因是這會導致無限循環,原因是:
n = 10
x = 1
while x < n:
x += 1
n += n * (x - 1)
print n
n隨x增加:
x += 1
n += n * (x - 1)
因此,x永遠不會趕上n並導致無限循環。
這是可行的,因為10永遠不會增加,並且x可以趕上它。
n = 10
x = 1
while x < 10:
x += 1
n += n * (x - 1)
print n
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.