您当前的位置:首页 > 计算机 > 编程开发 > Python

Python实战-游戏(常识判断小游戏)

时间:07-18来源:作者:点击数:
CDSY,CDSY.XYZ

前言

编程世界既神秘又充满乐趣,而今天,我们又将一起踏上学习编程的奇妙旅程,今天我们将用python通过编写简单而有趣的常识判断小游戏,探索代码背后的魔法力量。无论你是完全的初学者还是有一定经验的编程爱好者,这个项目都将为你打开编程的大门,让你体验到编程的乐趣与成就感。

你需要掌握的知识点

随机数生成、函数定义、变量与数据类型、输入/输出、条件语句和循环结构以及简单的函数知识点,如果你还没掌握可以移步到编程开发栏目-Python栏目,进行学习对应知识点后再进行操作。

我们的目标

在这个教程中,你将学会如何运用基本的编程概念和语法,编写一个简单但富有趣味的投色子小游戏。通过这个游戏,你将了解到变量、循环、条件语句等编程基础知识,同时培养逻辑思维和解决问题的能力。让我们一起挑战自己,探索编程的无限可能性!

游戏的要求

常识在生活中很重要,包括交通规则、健康饮食、社交礼仪、环保意识等。遵守常识有助于我们更好地适应环境、保护自己和他人,并促进社会和谐发展。常见的常识如下:

问题 答案
地球是圆的吗? True
太阳是绕地球转的吗? False
水的化学式是H2O吗? True
大熊猫是中国特有的动物吗? True
地球上70%以上的面积被海洋覆盖吗? True
非洲是世界上人口最多的大洲吗? False
金鱼是淡水鱼吗? True
月亮有自己的光吗? False
美国的首都是纽约吗? False
氧气是支持燃烧的气体吗? True
太阳是恒星吗? True
地球上最高的山峰是珠穆朗玛峰吗? True
蜘蛛是昆虫吗? False
地球是银河系中最大的行星吗? False
日本的首都是东京吗? True

要求:

游戏开始后,会依次显示一系列关于常识问题的题目,例如“地球是圆的吗?”、“水的化学式是H2O吗?”等等,然后我们需要输入对这个问题的判断,即“True”(正确)或者“False”(错误)。接着程序会告诉您是否回答正确,并记录我们的得分。最终,当所有问题都回答完毕后,会显示的得分情况,即总共回答对了多少题,以及占总题目数的比例

我们的思路

“俩个函数封装,逻辑处理”:

  1. ask_question(question, answer) 函数用于向用户展示问题并接收用户的输入答案,然后判断用户的回答是否正确,并返回结果。
  2. main() 函数包含了所有的问题和答案,以及游戏的主体逻辑。
  • 定义了问题列表 questions,每个问题都是一个元组包含问题本身和正确答案。
  • 初始化变量 correct_answers 用于记录用户回答正确的数量。
  • 逐个展示问题并调用 ask_question() 函数,根据用户的回答判断是否正确,并更新 correct_answers 变量。
  • 遍历完所有问题后,输出用户的得分情况,即回答正确的题目数量和总题目数。
  • 游戏开始时,欢迎语会提示用户回答关于常识的问题,用户需要根据问题输入对应的答案(True/False)。
  • 每回答一个问题后,程序会告诉用户答案是否正确,如果正确则得分加一。
  • 当用户回答完所有问题后,程序会显示用户的得分情况,包括回答正确的题目数量和比例。

具体落地

import random

def generate_question():
    num1 = random.randint(1, 100)
    num2 = random.randint(1, 100)
    operator = random.choice(['+', '-', '*', '/'])
    
    if operator == '+':
        answer = num1 + num2
    elif operator == '-':
        answer = num1 - num2
    elif operator == '*':
        answer = num1 * num2
    else:
        num1 = num2 * random.randint(1, 10)
        answer = num1 // num2
    
    return num1, num2, operator, answer

def check_answer(num1, num2, operator, answer, user_answer):
    if operator == '+':
        correct = num1 + num2
    elif operator == '-':
        correct = num1 - num2
    elif operator == '*':
        correct = num1 * num2
    else:
        correct = num1 // num2
    
    if answer == user_answer:
        print("回答正确!")
        return True
    else:
        print("回答错误。正确答案是:", correct)
        return False

def main():
    correct_answers = 0
    total_questions = 5

    print("欢迎参加四则运算小游戏!请回答下面的问题:")

    for _ in range(total_questions):
        num1, num2, operator, answer = generate_question()
        print(f"{num1} {operator} {num2} = ?")
        user_answer = int(input("请输入您的答案: "))
        
        if check_answer(num1, num2, operator, answer, user_answer):
            correct_answers += 1

    print(f"游戏结束!您一共回答对了 {correct_answers} 题,共答对了 {correct_answers}/{total_questions} 题。")

if __name__ == "__main__":
    main()

if __name__ == "__main__": 是一个条件判断语句,用于判断当前脚本是否作为主程序直接运行。当一个 Python 文件作为脚本直接运行时,Python 解释器会将特殊变量 __name__ 设置为 "__main__",表示该文件是主程序。

CDSY,CDSY.XYZ
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门