【问题标题】:TypeError in if else statement [duplicate]if else 语句中的 TypeError [重复]
【发布时间】:2020-01-28 05:38:49
【问题描述】:

我不断收到此错误:

if AR_GCC<16 and AR_GCC>0:

TypeError: '<' not supported between instances of 'str' and 'int'

这是一个应该根据用户的输入打印癌症风险的程序(不是一个真实的东西,只是为了练习)

这是一段不起作用的代码:

AR_GCC=input("AR_GCC repeat copy number?")

if (AR_GCC>0 and AR_GCC<16):
        risk="High risk"
elif (AR_GCC >= 16):
        risk = "Medium risk"
else:
    print("Invalid")

【问题讨论】:

  • 你哪里出了问题? input 返回一个字符串。您尝试将其与整数进行比较。

标签: python bioinformatics


【解决方案1】:

您需要确保输入被解释为数字。只需在 input 函数之前添加 int() 即可解决该问题。当然,如果传递的值是一个字符串,它会失败。因此,您的代码应该是: AR_GCC=int(input("AR_GCC repeat copy number")) 应该可以解决问题。抱歉格式化,从手机输入

【讨论】: