Python编程基础:第三十八节 问答游戏Quiz Game

第三十八节 问答游戏Quiz Game

前言

我们这一节还是对之前学习内容的一个综合运用,主要涉及到函数编程、字典以及列表的使用、条件语句、循环结构等等。通过本节的学习读者可以检验之前内容的掌握情况。我们以问答游戏为例介绍这些知识点的具体运用方法。

实践

问答游戏,也即针对提出的问题用户给出正确答案的选项,如果答对就计一分,如果答错则不计分。所以不难想象,问答游戏需要为每一个问题设定正确答案,所以我们需要用字典来保存问题和答案的对应情况,其中问题为键,答案为值。

questions = {
   
    "Who created Python?: ": "A", 
    "What year was Python created?: ": "B", 
    "Python is tributed to which comedy group?: ": "C", 
    "Is the Earth round?: ": "A"
    }

可见我们创建了一个名为questions的字典,其中一共包含四个问题以及他们的正确选项。除了答案的设计,我们还需要设计候选项供用户选择,每一个问题有四个选项。为了存储这些候选项,我们可以使用二维列表来存储:

options = [
    ["A. Guido van Rossum", "B. Elon Musk", "C. Bill Gates", "D. Mark Zuckerburg"], 
    ["A. 1989", "B. 1991", "C. 2000", "D. 2016"], 
    ["A. Lonely Island", "B. Smosh", "C. Monty Python", "D. SNL"], 
    ["A. True", "B. False", "C. sometimes", "D. What's Earth?"]
    ]

每一行是一个问题的四个候选项。有了问题、正确答案、候选项之后,我们的问答游戏便可以进行了。我们这里采用模块化设计的思路,将整个问题分割为一个个子问题,然后对每个子问题分别编写函数进行实现。其实不难想,我们的问题可以分割为:开始游戏,答案检验,得分打印,询问是否再次游戏这四个部分。我们先来实现最简单的答案检验部分:

def Check_Answer(answer, guess):
    if answer == guess:
        print("CORRECT!")
        return 1
    else:
        print("WRONG!"
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
好的,让我们来创建一个基于Python的交互式图片问答游戏。 首先,我们需要安装Pillow库来处理图像,可以使用以下命令来安装: ``` pip install Pillow ``` 接下来,我们需要准备一些图片以及相应的问题和答案。将这些信息存储在一个字典里,其中键是图片文件名,值是一个包含问题和答案的元组。 ```python import os # 创建一个字典,包含每张图片的问题和答案 image_quiz = { "image1.jpg": ("这是什么?", "这是一只猫。"), "image2.jpg": ("这是哪个城市的标志?", "这是纽约市的标志。"), "image3.jpg": ("这是什么食物?", "这是披萨。"), } # 获取图片文件的路径 image_path = os.path.join(os.getcwd(), "images") ``` 然后,我们可以使用Pillow库加载并显示每张图片,然后提示用户回答问题。如果用户回答正确,我们将输出“回答正确”,否则输出“回答错误”。 ```python from PIL import Image # 循环遍历每张图片 for image_file, quiz in image_quiz.items(): # 加载图片并显示 image = Image.open(os.path.join(image_path, image_file)) image.show() # 提示用户回答问题 answer = input(quiz[0] + " ") # 检查答案是否正确 if answer.lower() == quiz[1].lower(): print("回答正确!") else: print("回答错误。") ``` 最后,我们可以将这些代码包装在一个函数中,并添加一些额外的功能,如提示用户选择难度级别和计算得分。 ```python def image_quiz_game(difficulty): # 根据难度级别选择要使用的图片 if difficulty == "easy": image_quiz = { "image1.jpg": ("这是什么?", "这是一只猫。"), "image3.jpg": ("这是什么食物?", "这是披萨。"), } elif difficulty == "medium": image_quiz = { "image1.jpg": ("这是什么?", "这是一只猫。"), "image2.jpg": ("这是哪个城市的标志?", "这是纽约市的标志。"), "image3.jpg": ("这是什么食物?", "这是披萨。"), } else: image_quiz = { "image1.jpg": ("这是什么?", "这是一只猫。"), "image2.jpg": ("这是哪个城市的标志?", "这是纽约市的标志。"), "image3.jpg": ("这是什么食物?", "这是披萨。"), "image4.jpg": ("这是哪条河?", "这是尼罗河。"), "image5.jpg": ("这是哪个国家?", "这是法国。"), } # 获取图片文件的路径 image_path = os.path.join(os.getcwd(), "images") # 初始化得分 score = 0 # 循环遍历每张图片 for image_file, quiz in image_quiz.items(): # 加载图片并显示 image = Image.open(os.path.join(image_path, image_file)) image.show() # 提示用户回答问题 answer = input(quiz[0] + " ") # 检查答案是否正确 if answer.lower() == quiz[1].lower(): print("回答正确!") score += 1 else: print("回答错误。") # 输出最终得分 print("你的得分是:" + str(score) + "/" + str(len(image_quiz))) ``` 现在我们可以调用这个函数来开始玩游戏了。 ```python difficulty = input("请选择难度级别(easy/medium/hard):") image_quiz_game(difficulty) ``` 希望这个小游戏能够帮助你学习Python图像处理和交互式程序设计。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值