python 2.7
是否可以这样做:
print "Enter a number between 1 and 10:"
number = raw_input("> ")
if number in range(1, 5):
print "You entered a number in the range of 1 to 5"
elif number in range(6, 10):
print "You entered a number in the range of 6 to 10"
else:
print "Your number wasn't in the correct range"
我发现如果我在 1 到 10 之间输入一个数字,它总是落入 else 语句。
这是在 if-else 语句中对 in range 的错误使用吗?
非常感谢,
请您参考如下方法:
因为输入数据是字符串。所以它流向了其他地方。把它转换成整数就可以了。
>>> number = raw_input("> ")
>>> type(number)
<type 'str'>
int(number) converts to <type 'int'>
请使用:
if int(number) in range(1, 6):
print "You entered a number in the range of 1 to 5"
elif int(number) in range(6, 11):
print "You entered a number in the range of 6 to 10"
else:
print "Your number wasn't in the correct range"
