【问题标题】:Python input does not compare properly [closed]Python输入无法正确比较[关闭]
【发布时间】:2013-11-22 07:59:14
【问题描述】:

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

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()

【问题讨论】:

  • 定义“不工作”,并请描述您为使其“工作”所做的工作。
  • 代码不起作用我希望它打印那些我认为它是自我解释的语句
  • 我不明白你的问题?

标签: python loops python-2.7


【解决方案1】:

e 是一个字符串,你将它与一个 int 进行比较

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()

改为

【讨论】:

  • 请使用elif 语句。
  • 做到了。我只是一开始没有这样做,因为我想向他展示问题所在的位置。
  • 没关系,但是你还应该包含一个更好的代码来说明为什么它更好。
  • 感谢有一天我会创建应用程序大声笑
【解决方案2】:

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

【讨论】:

  • 感谢怀疑壳起飞点大声笑
猜你喜欢
  • 2019-09-20
  • 2013-07-05
  • 1970-01-01
  • 2020-09-19
  • 1970-01-01
  • 2015-07-16
  • 2022-01-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多