2017-02-28 71 views
-2

出于某种原因,当我尝试设置while函数时,它不会按照我的要求进行操作。虽然功能故障

例如:

import random 

x = 0 
while x <= 10:  
    print random.randint(1, 100)  
    x += x + 1 

本只运行四次。但如果我将其更改为while x <= 1000:,它会运行十次。任何想法为什么?

编辑

我很抱歉,但认为这是一个合理的问题。请停止低调投票!下次我会对这个问题的语法进行更多的研究。抱歉。

+8

'x + = x + 1'应该是'x + = 1'或'x = x + 1'。 –

+2

@Rawing:准备5份评论作为答案... –

回答

0

你的问题是x += x + 1基本上是加入x + (x + 1)。只需删除最初的+

1

要增加1 x你应该使用

x += 1 

x = x + 1 

您已经联合他们进入x += x + 1,其中x+1x每次补充道。

+0

谢谢!它现在有效。 – Massimo

0

您正在将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,所以这不是一个错误,只是另一个问题的答案。