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

如何随机化答题选项并同步if-else逻辑?求Python代码优化

随机选项答题游戏代码完善

需求回顾

开发带有随机功能的小型答题游戏:

  • 玩家输入a1或a2对应选项作答
  • 正确选项对应的a1/a2不固定(比如“天空是蓝色”的正确选项随机分配给a1或a2)
  • 程序需判断答案是否正确并输出结果

原代码存在的问题

  1. 选项赋值逻辑错误:else分支中仅修改了op1,但未给op2赋值,会导致后续判断出错
  2. 题目提示与随机逻辑脱节:当前打印的选项说明是固定的,没有根据随机分配的正确选项动态调整
  3. 用户输入是硬编码值,未实现真正的玩家输入交互

改进后的代码

import random

# 定义题目和正确答案文本
question = "Is the Sky Blue ?"
correct_answer = "Yes"
wrong_answer = "No"

# 随机分配正确选项对应的输入标识
correct_input = random.choice(["a1", "a2"])
wrong_input = "a2" if correct_input == "a1" else "a1"

# 动态生成题目提示,告知玩家每个输入对应的选项
print(question)
print(f"If {correct_answer} type `{correct_input}`")
print(f"If {wrong_answer} type `{wrong_input}`")

# 获取玩家输入
user_input = input("Please enter your answer: ").strip()

# 判断答案并输出结果
if user_input == correct_input:
    print("Yeah that's right!")
elif user_input == wrong_input:
    print("That's the wrong answer.")
else:
    print("Invalid input! Please enter `a1` or `a2`.")

代码说明

  • 随机分配正确选项:通过random.choice直接确定正确输入标识,再推导错误输入,逻辑更简洁
  • 动态提示:根据随机结果生成对应的选项说明,确保玩家看到的选项和实际正确对应关系一致
  • 真实交互:使用input()获取玩家输入,支持实时作答
  • 输入校验:增加了无效输入的判断,提升游戏健壮性

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 12:45:36