繁体   English   中英

python中的无限while循环

[英]Infinite while loop in python

无论我做什么,都无法使while循环正常工作。 除非我对值进行硬编码。

count = 0
value = raw_input('How many?')
print value
while (count <= value):
        print "a"
        count= count + 1

最初,我尝试使用命令行参数,使用sys.argv [1]作为值,但是遇到了同样的问题。 这似乎很简单,但是我无法终生弄清楚自己在做什么错。

确保该值为整数,

while (count <= int(value)):
    count= count + 1

默认情况下, raw_input是一个字符串,对于每个整数n和每个字符串s我们拥有n<s is True (!),因此您的循环(不带int )将永不中断。

注意:在Python 3中,比较字符串和整数将给出TypeError: unorderable types: str() < int() ,这可能更“预期”。

首先将您的输入转换为整数

value = int(raw_input('How many?'))
print value

顺便说一句,如果您真的想让您的陈述成为value乘以印刷变更条件,

count <= int(value)

count < int(value)

或从1开始count

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM