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

如何让Python答题判断的response函数重复正常生效?

问题分析与解决

你的代码问题出在response函数的逻辑和使用方式不匹配:

原函数里判断的是传入的ans是否等于1,但你的ans是累加的总分——第一次答题答对后ans变成1,调用函数会输出CORRECT;但第二次答题后,ans要么保持1(答错)要么变成2(答对),这两个值都不等于1,所以不管对错都会输出INCORRECT。

解决方案

如果你需要每道题单独提示对错,有两种简单的修改方式:

方式一:直接传递当前题的对错状态

把函数改成接收布尔值(对/错),每道题判断后直接传结果:

def response(is_correct):
    print("CORRECT" if is_correct else "INCORRECT")

q1 = input("Q1: What data type should be used for basic text?\n")
response(q1.lower() == "string")

q2 = input("Q2: What symbol is used for multiplication?\n")
response(q2 == "*")

方式二:保留总分统计,同时传递当前题的对错

如果还要统计总得分,可在每道题判断后单独记录当前是否答对,再传给函数:

total_score = 0

def response(is_correct):
    print("CORRECT" if is_correct else "INCORRECT")

q1 = input("Q1: What data type should be used for basic text?\n")
q1_correct = q1.lower() == "string"
if q1_correct:
    total_score += 1
response(q1_correct)

q2 = input("Q2: What symbol is used for multiplication?\n")
q2_correct = q2 == "*"
if q2_correct:
    total_score += 1
response(q2_correct)

两种方式都能让每道题的对错提示正常生效,不需要什么“重置函数”的操作,只是你之前误解了函数的使用逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 13:21:20