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

Python正误除法测验代码无法运行且无法输出姓名与分数求助

修复正误除法测验Python代码问题

原代码核心问题

  • tf_quiz()函数仅声明未实现,所有测验逻辑都在函数外部,调用函数无实际作用
  • 未初始化score变量,直接执行score = score +1会触发未定义错误
  • 未获取用户输入的答案correct_ans,所有判断都是基于未定义的变量
  • 函数内的user_name、user_year仅做无效声明,未关联外部输入值
  • 缺少最终的用户姓名和分数输出逻辑
  • 存在语法错误:最后一个判断分支后残留enter code here无效字符

修复后的完整代码

def tf_quiz():
    # 初始化分数
    score = 0
    
    print("Welcome to my true or false division quiz")
    user_name = input("Please enter your name: ")
    user_year = input("Please enter your year: ")
    print("All you have to do is type T/F for each question")

    # 问题1
    print("\n12/3 = 4")
    correct_ans = input("Your answer (T/F): ").strip().upper()
    if correct_ans == "T":
        print("Correct!")
        score += 1
    elif correct_ans == "F":
        print("Incorrect!")

    # 问题2
    print("\n42/6 = 7")
    correct_ans = input("Your answer (T/F): ").strip().upper()
    if correct_ans == "T":
        print("Correct!")
        score += 1
    elif correct_ans == "F":
        print("Incorrect!")

    # 问题3
    print("\n18/3 = 4")
    correct_ans = input("Your answer (T/F): ").strip().upper()
    if correct_ans == "F":
        print("Correct!")
        score += 1
    elif correct_ans == "T":
        print("Incorrect!")

    # 问题4
    print("\n40/5 = 9")
    correct_ans = input("Your answer (T/F): ").strip().upper()
    if correct_ans == "F":
        print("Correct!")
        score += 1
    elif correct_ans == "T":
        print("Incorrect!")

    # 问题5
    print("\n90/10 = 9")
    correct_ans = input("Your answer (T/F): ").strip().upper()
    if correct_ans == "T":
        print("Correct!")
        score += 1
    elif correct_ans == "F":
        print("Incorrect!")

    # 问题6
    print("\n16/2 = 4")
    correct_ans = input("Your answer (T/F): ").strip().upper()
    if correct_ans == "F":
        print("Correct!")
        score += 1
    elif correct_ans == "T":
        print("Incorrect!")

    # 问题7
    print("\n9/3 = 3")
    correct_ans = input("Your answer (T/F): ").strip().upper()
    if correct_ans == "T":
        print("Correct!")
        score += 1
    elif correct_ans == "F":
        print("Incorrect!")

    # 问题8
    print("\n45/9 = 5")
    correct_ans = input("Your answer (T/F): ").strip().upper()
    if correct_ans == "T":
        print("Correct!")
        score += 1
    elif correct_ans == "F":
        print("Incorrect!")

    # 问题9
    print("\n81/9 = 7")
    correct_ans = input("Your answer (T/F): ").strip().upper()
    if correct_ans == "F":
        print("Correct!")
        score += 1
    elif correct_ans == "T":
        print("Incorrect!")

    # 问题10
    print("\n49/7 = 7")
    correct_ans = input("Your answer (T/F): ").strip().upper()
    if correct_ans == "T":
        print("Correct!")
        score += 1
    elif correct_ans == "F":
        print("Incorrect!")

    # 输出最终结果
    print(f"\n--- Final Result ---")
    print(f"Name: {user_name}")
    print(f"Year: {user_year}")
    print(f"Score: {score}/10")

# 执行测验
tf_quiz()

关键修复说明

  1. 函数逻辑整合:将所有测验逻辑移入tf_quiz()函数内部,确保调用函数时能执行完整流程
  2. 变量初始化:在函数开头初始化score = 0,避免未定义错误
  3. 获取用户答案:每个问题后添加input()获取用户输入,用strip().upper()处理输入,兼容大小写和空格
  4. 修复语法错误:删除最后一个判断分支后的无效字符enter code here
  5. 添加结果输出:测验结束后打印用户姓名、年级和最终分数
  6. 优化判断逻辑:将独立的if改为elif,避免重复判断
  7. 修正问题错误:原问题中45/9 =5的正确答案是T,原代码判断逻辑错误,已修正

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 15:26:08