You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在trinket.io用Python编写数学测验时input相关if语句运行异常

问题原因

  • 核心错误为变量名误用:你通过input()获取到的用户输入已经存储到了answer变量中,但后续判断语句里错误使用了Python内置函数名input做判断,input本身是函数对象,不可能和字符串"y"相等,因此所有判断分支都不会按预期运行。
  • 分支逻辑冗余:第二个判断elif input != ("y")可以直接替换为else,天然覆盖所有非y的场景,不需要额外做不等判断。

修正后可运行代码

print("你好,欢迎参加数学测验!")
print("这是一个通过回答数学题来提升分数的小游戏 :)")
print("你准备好了吗?")
answer = input("请输入y/n:\n").strip().lower()

if answer == "y":
  print("好的,测验即将开始")
else:
  print("这不是可接受的答案 :(")

补充优化说明

  • 新增strip()方法可以自动过滤用户输入前后的空格、换行符,避免用户误输入空格导致判断失效
  • 新增lower()方法可以自动把输入转为小写,用户输入大写Y也可以正常识别
  • 把提示内容改为了中文,更符合中文用户使用习惯,如果需要保留原版英文提示,替换回你原本的print内容即可

内容的提问来源于stack exchange,提问作者user16938076

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 02:57:03