Python年龄对比判断功能运行异常,请问代码错误出在哪里
代码错误原因及修正方案
存在的错误:
- 类型匹配错误:
input()函数默认返回字符串类型,直接用字符串和'9'做大小比较时,会按照字符的ASCII码值比对而非实际数值大小,比如用户输入10时,字符串'10'的首字符ASCII码小于'9',会被错误判定为年龄更小,需要将输入的年龄转换为整数类型后再做比较。 - 分支语法错误:
else是兜底分支,无需也不能附加判断条件,要么将此处的else改为elif,要么直接删除else后的Age > '9'条件。 - 提示语拼写小问题:
Whats your name?存在拼写疏漏,正确写法为What's your name?,不影响代码运行但会影响交互体验。
修正后的可运行代码:
print('Hello! I am your faithful computer!') Person = input('What\'s your name?') print('Hello,', Person) # 把输入的年龄转换为整数类型 Age = int(input('How old are you?')) if Age == 9: print('We are the same age!') elif Age < 9: print('You are younger than me') else: print('You are older than me')
补充说明
如果要避免用户输入非数字内容导致程序崩溃,可以额外添加try-except异常捕获逻辑做兼容性处理。
内容的提问来源于stack exchange,提问作者Mufti
相关产品推荐
相关产品推荐

