'>' 在 'str' 和 'int' 的实例之间不受支持

新手上路,请多包涵

我最近开始学习编码,这是我的第一个问题,如果这个问题太愚蠢,请原谅我。

我像昨天一样开始学习 Python,但遇到了这个问题,当执行 if 语句时,我收到一条错误消息,指出 > 实例之间不支持 strint

我知道一点 JavaScript,我认为变量 age 被视为一个字符串,但如果输入是一个数字,它不应该被视为一个整数。

我应该在这里更改什么,以使其以所需的方式工作。

 name = input("Enter your name:")
print("Hello, " +name)
age = input("Please enter your age:")
if age > 3:
    print("You are allowed to use the internet.")
elif age <= 3:
    print("You are still a kid what are you doing here.")

我希望程序根据我输入的年龄打印相应的语句,但在 if 语句的开头出现错误,指出 > 运算符不能用于比较字符串和整数。

原文由 Sumedh 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 681
2 个回答

正如回溯所说, age 是一个字符串,因为它刚刚被用户“输入”。与 C 不同,没有方法可以执行类似 scanf("%d", &age) 的操作,因此您需要使用 age = int(age) 手动将 age 转换为整数。

 name = input("Enter your name:")
print("Hello, " +name)
age = input("Please enter your age:")
# do exception handling to make sure age is in integer format
age = int(age)

原文由 DarthCadeus 发布,翻译遵循 CC BY-SA 4.0 许可协议

比较运算符将字符串与整数进行比较。所以在比较之前将你的 sting 转换为 int

 name = input("Enter your name:")
print("Hello, " +name)
age = input("Please enter your age:")
if int(age) > 3:
    print("You are allowed to use the internet.")
elif int(age) <= 3:
    print("You are still a kid what are you doing here.")

原文由 Surjya Narayana Padhi 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题