我有以下简单的python代码,用于检查用户输入。
while True:
num = raw_input("Enter the number :")
if (num >= 1 and num <= 5):
break
else:
print "Error! Enter again :"
当我提供输入0
或大于5
的数字时,它可以正常工作,但之后我尝试从1
向5
提供输入,程序仍然转到else
部分。你能帮我找到我的错误吗?
答案 0 :(得分:3)
num
是一个字符串,而不是数字。您需要先使用raw_input
将int()
的返回值转换为数字:
>>> n = raw_input('Type stuff: ')
Type stuff: 123
>>> type(n)
<type 'str'>
>>> n
'123'
>>> int(n)
123
>>> type(int(n))
<type 'int'>
答案 1 :(得分:2)
您需要将其投射到int
-
num = int(raw_input("Enter the number :"))
作为raw_input
读取行并将其转换为string
。