出于某种原因,当我尝试设置while
函数时,它不会按照我的要求进行操作。虽然功能故障
例如:
import random
x = 0
while x <= 10:
print random.randint(1, 100)
x += x + 1
本只运行四次。但如果我将其更改为while x <= 1000:
,它会运行十次。任何想法为什么?
编辑
我很抱歉,但认为这是一个合理的问题。请停止低调投票!下次我会对这个问题的语法进行更多的研究。抱歉。
出于某种原因,当我尝试设置while
函数时,它不会按照我的要求进行操作。虽然功能故障
例如:
import random
x = 0
while x <= 10:
print random.randint(1, 100)
x += x + 1
本只运行四次。但如果我将其更改为while x <= 1000:
,它会运行十次。任何想法为什么?
编辑
我很抱歉,但认为这是一个合理的问题。请停止低调投票!下次我会对这个问题的语法进行更多的研究。抱歉。
你的问题是x += x + 1
基本上是加入x + (x + 1)
。只需删除最初的+
。
您正在将x + 1
添加到x
。它应该是x+=1
,让你尽早完成:
开始:x + x + 1 = 0 + 0 + 1 = 1
后第二次迭代:x + x + 1 = 1 + 1 + 1 = 3
第三次迭代后:x + x + 1 = 3 + 3 + 1 = 7
后x = 0
第一次迭代后第四次迭代:x + x + 1 = 7 + 7 + 1 = 15
,大于10并停止。
你将x乘以2并加1,所以这不是一个错误,只是另一个问题的答案。
'x + = x + 1'应该是'x + = 1'或'x = x + 1'。 –
@Rawing:准备5份评论作为答案... –