[英]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.