鱼C论坛

 找回密码
 立即注册
查看: 57|回复: 1

[作品展示] 答案判定器

[复制链接]
发表于 5 天前 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
小白自己捣鼓出来的小玩意
import random
a = 2
b = 3
print("1 + 1 =?")
if random.randrange(1,3) == 1:
    print("A:",a)
    print("B:",b)
    d = 1
else:
    print("A:",b)
    print("B:",a)
    d = 2
s = input()
if s == "A":
    s = 1
if s == "B":
    s = 2
if s == d:
    print("对了")
else:
    print("错了")
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 5 天前 | 显示全部楼层
以下是对您代码的分析与改进建议:

代码分析:
1. 功能:随机交换答案选项位置(A/B),检测用户输入是否正确
2. 存在问题:
   - 只接受大写字母输入(输入小写会判错)
   - 未处理无效输入(如输入C/D等)
   - 变量命名可读性差(如a/b/d/s含义不直观)

改进建议:

  1. import random

  2. # 使用有意义的变量名
  3. correct_answer = 2
  4. wrong_answer = 3

  5. print("1 + 1 =?")
  6. # 生成随机选项布局
  7. if random.choice([True, False]):
  8.     print(f"A: {correct_answer}")
  9.     print(f"B: {wrong_answer}")
  10.     correct_choice = "A"
  11. else:
  12.     print(f"A: {wrong_answer}")
  13.     print(f"B: {correct_answer}")
  14.     correct_choice = "B"

  15. # 处理用户输入(不区分大小写)
  16. user_input = input("请选择答案 (A/B): ").strip().upper()

  17. # 判断结果
  18. if user_input == correct_choice:
  19.     print("对了!")
  20. elif user_input in ("A", "B"):
  21.     print("错了!")
  22. else:
  23.     print("无效输入,请输入A或B")
复制代码


主要改进点:
1. 使用random.choice()替代random.randrange()更简洁
2. 变量名语义化(如correct_answer代替a
3. 输入处理:
   - 自动转换大写.upper()
   - 去除空格.strip()
   - 增加无效输入检测
4. 使用f-string格式化输出更清晰
5. 添加明确的输入提示语

这个版本保留了原代码的核心逻辑,同时增强了健壮性和用户体验。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-7-31 10:10

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表