Skip to main content
 首页 » 编程设计

python之在 if-else 语句中使用 in range(..)

2025年05月04日10artech

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"