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

使用Python if else制作数学测验时if条件满足仍触发else分支

Python数学测验代码问题排查

问题根因

核心原因为数据类型不匹配:

  • input() 方法返回的用户输入始终为字符串类型,代码中 user_answer 为字符串格式的数字(例如用户输入12,变量实际存储值为"12")
  • real_answer 是两个整数相加得到的整型数值,Python中不同类型变量做相等判断时,字面量相同的字符串和整型会被判定为不相等,因此if条件永远不成立,只会执行else分支代码。

修复方案

将用户输入的字符串转换为整型即可,修改对应代码行:

# 原代码
user_answer = input("Your answer here: ")
# 替换为
user_answer = int(input("Your answer here: "))

完整修正代码

import random
num1 = random.randint(1,20)
num2 = random.randint(1,20)
print(num1,'+',num2)
user_answer = int(input("Your answer here: "))
real_answer = num1+num2
print(real_answer, user_answer)
if user_answer == real_answer:
    print("Yes")
else:
    print("no")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 20:57:03