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

Python input()输入值与整数比较判定错误的原因及修复

问题根因

你的判断完全准确:Python里input()接收到的所有输入默认都是字符串(str)类型,你输入21时,question存的是字符串"21",和整数21做相等比较时,类型不同的值判定结果永远为False,所以一直触发错误提示。
另外你代码里写的math = 8 + 13没有在判断逻辑里用到,属于冗余代码。

修复后的代码

核心是把用户输入转成整数类型再做比较,优化后代码:

question = int(input("what is 8 + 13? "))
correct_answer = 8 + 13
if question == correct_answer:
    print("that is correct")
else:
    print("That is wrong")
具体改动点
  • 用int()包裹input()的返回值,将用户输入的字符串转为整数,从根源解决类型不匹配的问题
  • 把原来两个独立的if判断改成if...else结构,逻辑更简洁,不需要重复写不等判断
  • 将原本没用到的math变量重命名为语义更明确的correct_answer,判断时直接调用该变量,后续如果修改题目里的算术式,不用同步改判断条件里的硬编码数字

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 09:42:25