Python中input函数配合if语句使用时报错该如何解决?
报错原因
Python 3 中input()函数的所有返回值默认都是字符串(str)类型,你代码中获取到的Age变量是字符串格式,直接和整数类型的40、18做大小比较,两种不同类型的数据不支持直接比较运算,就会触发该报错。
解决方案
将Age变量转换为整数(int)类型后再执行比较逻辑即可,修正后的代码如下:
Name = input("Hi please enter your name: ") print("Hi " + Name) # 用int()将input返回的字符串转为整数 Age = int(input(Name + " could you please Enter your age: ")) if Age > 40: print(" Wow you are so old") if Age < 18: # 注意原代码此处存在笔误,you应为young print("Wow you are so young")
如果需要兼容用户输入非数字的场景,可以额外增加异常捕获逻辑,避免输入非数字时程序直接崩溃:
Name = input("Hi please enter your name: ") print("Hi " + Name) while True: Age_input = input(Name + " could you please Enter your age: ") try: Age = int(Age_input) break except ValueError: print("请输入有效的数字年龄") if Age > 40: print(" Wow you are so old") if Age < 18: print("Wow you are so young")
内容的提问来源于stack exchange,提问作者mahdimaster
相关产品推荐
相关产品推荐

