Python输入无法正确比较

时间:2013-11-22 07:59:14

标签: python loops python-2.7

我今天在测试中做了这个并回来测试它。我知道更好的方法,但为什么这不起作用?

def f():
    e=raw_input('enter number')
    if e in range (12):
        print 'co'
    if e in range (12,20):
        print 'co2'
    if e in range (-10,0,1):
        print 'co3'

f()

2 个答案:

答案 0 :(得分:1)

e是一个字符串,您将其与int

进行比较

DO

def f():
    e=int(raw_input('enter number'))
    if e in range (12):
        print 'co'
    elif e in range (12,20):
        print 'co2'
    elif e in range (-10,0,1):
        print 'co3'

f()

代替

答案 1 :(得分:0)

e=raw_input('enter number')应为e=int(raw_input('enter number'))input()不同,raw_input()只是将输入作为字符串返回,而不管输入是什么。由于range(12)由0-11包含的整数组成,但e不是整数,e永远不会在range(12)中。因此e需要转换为整数。幸运的是,有一个内置函数:int()