鱼C论坛

 找回密码
 立即注册
查看: 2049|回复: 2

[已解决]制作简单的智商检测问答小程序

[复制链接]
发表于 2021-5-13 23:31:18 From FishC Mobile | 显示全部楼层 |阅读模式

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

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

x
名称:智商检测小游戏

运行提示用户输入“开始”然后跳转第一个问题,回答问题后立即跳转至下一个问题,答案以ABC选项呈现,每一题回答正确都会累积相应分数,回答错误没有分数,直至最后一题答完,会呈现总共获得多少分,然后分数每阶段还有相应的评价,例如:100分评价为什么什么,80分评价为什么什么。

求大佬帮忙制作一下,然后代码评论下方,最好有详细注解,以及代码解析,本贴悬赏10鱼币
最佳答案
2021-5-14 00:53:17
  1. scores = []
  2. data_QAs = {"问题01: ----- A \nA. --   B. --    C. --\n" : "A",
  3.             "问题02: ----- B \nA. --   B. --    C. --\n" : "B",
  4.             "问题03: ----- C \nA. --   B. --    C. --\n" : "C",
  5.             "问题04: ----- A \nA. --   B. --    C. --\n" : "A",
  6.             "问题05: ----- B \nA. --   B. --    C. --\n" : "B",
  7.             "问题06: ----- C \nA. --   B. --    C. --\n" : "C",
  8.             "问题07: ----- A \nA. --   B. --    C. --\n" : "A",
  9.             "问题08: ----- B \nA. --   B. --    C. --\n" : "B",
  10.             "问题09: ----- C \nA. --   B. --    C. --\n" : "C",
  11.             "问题10: ----- A \nA. --   B. --    C. --\n" : "A" }

  12. def isAnswerRight(question, answer, data_QA = data_QAs) -> bool:
  13.     if data_QA[question] == answer:
  14.         return True
  15.     else:
  16.         return False

  17. def intelligence(score) -> str:
  18.     if score < 60:
  19.         return "智商不及格!"
  20.     if 60 <= score < 80:
  21.         return "智商刚及格!"
  22.     if 80 <= score < 100:
  23.         return "智商很优秀!"
  24.     if score == 100:
  25.         return "真是个天才!"

  26. print("-------- 智商检测小游戏 --------\n")

  27. isRun = False
  28. while not isRun:
  29.     if input("输入“开始”并按下回车键后游戏正式开始:") in ["开始", "kaishi", "1"]:
  30.         isRun = True
  31.         print()
  32.         
  33. print("-" * 30)   

  34. for question in data_QAs:
  35.     print()
  36.     print(question)
  37.    
  38.     in_answer = input("---- 请输入本题答案(A B C):")
  39.     while in_answer not in ["A", "B", "C", "a", "b", "c"]:
  40.         in_answer = input("---- 请重新输入答案(请勿输入 A B C 以外的其他内容):")
  41.     answer = in_answer.upper()
  42.    
  43.     if isAnswerRight(question, answer, data_QAs):
  44.         scores.append(10)
  45.         print("回答正确,加 10 分!当前总分:", sum(scores), "\n")
  46.     else:
  47.         scores.append(0)
  48.         print("回答错误,不能加分!当前总分:", sum(scores), "\n")
  49.         
  50.     print("-" * 30)
  51.    
  52. print("\n你的总得分是:", sum(scores), intelligence(sum(scores)))

复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-5-14 00:53:17 | 显示全部楼层    本楼为最佳答案   
  1. scores = []
  2. data_QAs = {"问题01: ----- A \nA. --   B. --    C. --\n" : "A",
  3.             "问题02: ----- B \nA. --   B. --    C. --\n" : "B",
  4.             "问题03: ----- C \nA. --   B. --    C. --\n" : "C",
  5.             "问题04: ----- A \nA. --   B. --    C. --\n" : "A",
  6.             "问题05: ----- B \nA. --   B. --    C. --\n" : "B",
  7.             "问题06: ----- C \nA. --   B. --    C. --\n" : "C",
  8.             "问题07: ----- A \nA. --   B. --    C. --\n" : "A",
  9.             "问题08: ----- B \nA. --   B. --    C. --\n" : "B",
  10.             "问题09: ----- C \nA. --   B. --    C. --\n" : "C",
  11.             "问题10: ----- A \nA. --   B. --    C. --\n" : "A" }

  12. def isAnswerRight(question, answer, data_QA = data_QAs) -> bool:
  13.     if data_QA[question] == answer:
  14.         return True
  15.     else:
  16.         return False

  17. def intelligence(score) -> str:
  18.     if score < 60:
  19.         return "智商不及格!"
  20.     if 60 <= score < 80:
  21.         return "智商刚及格!"
  22.     if 80 <= score < 100:
  23.         return "智商很优秀!"
  24.     if score == 100:
  25.         return "真是个天才!"

  26. print("-------- 智商检测小游戏 --------\n")

  27. isRun = False
  28. while not isRun:
  29.     if input("输入“开始”并按下回车键后游戏正式开始:") in ["开始", "kaishi", "1"]:
  30.         isRun = True
  31.         print()
  32.         
  33. print("-" * 30)   

  34. for question in data_QAs:
  35.     print()
  36.     print(question)
  37.    
  38.     in_answer = input("---- 请输入本题答案(A B C):")
  39.     while in_answer not in ["A", "B", "C", "a", "b", "c"]:
  40.         in_answer = input("---- 请重新输入答案(请勿输入 A B C 以外的其他内容):")
  41.     answer = in_answer.upper()
  42.    
  43.     if isAnswerRight(question, answer, data_QAs):
  44.         scores.append(10)
  45.         print("回答正确,加 10 分!当前总分:", sum(scores), "\n")
  46.     else:
  47.         scores.append(0)
  48.         print("回答错误,不能加分!当前总分:", sum(scores), "\n")
  49.         
  50.     print("-" * 30)
  51.    
  52. print("\n你的总得分是:", sum(scores), intelligence(sum(scores)))

复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2021-5-14 08:15:06 From FishC Mobile | 显示全部楼层
有老污龟那味儿了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-23 21:45

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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