将变量设为'小于'值?

时间:2016-03-14 02:11:57

标签: python-3.x variables

我是Python新手,完全陷入困境

有没有办法让值小于值的变量

例如

x = int(input ("Input a value for x: "))
i = 1

while i < x:
    x += i
    i += 1
else:

    print ("here is your new number:", x,)

每当我使用它时,没有任何反应

感谢您的帮助

2 个答案:

答案 0 :(得分:0)

说没有任何事情发生在技术上并不正确,很多事情正在发生。

然而,一个事件没有发生的是产生输出的东西(除非你输入一个小于或等于一的值)。

如果while..else块没有进行任何迭代,else构造只会执行while块。

所以,如果你想在循环之后输出,无论循环体是否执行,摆脱else并取消print

其他未发生的事情是循环本身的退出条件。如果i的开头时间小于x(并且他们的开头都是肯定的),请将i添加到x,然后将1添加到{ {1}}永远不会给您i不小于i的情况。

想想(例如):

x

您可以看到 x i Description ----- ----- ----------- 3 1 Initial state 4 2 x += i; i += 1; 6 3 x += i; i += 1; 9 4 x += i; i += 1; 13 5 x += i; i += 1; 18 6 x += i; i += 1; 24 7 x += i; i += 1; 31 8 x += i; i += 1; 的增长速度超过x,因此i将始终为真。

你如何解决这个问题完全取决于你想要实现的目标。由于您已根据代码描述了您的问题,因此您的代码完全符合您的要求。因此,既然你说它没有按你的预期工作,那么你的要求可能需要一些工作: - )

我建议用英语说明你在这里尝试实现的目标,然后我们就可以建议你的实施出错了。

答案 1 :(得分:0)

如果i&lt;

您写的内容将导致无限循环x在开头。所以它永远不会达到你希望它的印刷声明。另外,我还认为你必须删除else并缩进print语句。