在-Python-中实现石头剪刀布游戏

在 Python 中实现石头剪刀布游戏

原文:towardsdatascience.com/implementing-the-rock-paper-scissors-game-in-python/

游戏介绍

石头剪刀布自从我们童年时期以来一直是一个有趣且即兴的游戏,无聊时我们可以在任何地方玩。这个游戏很简单。它涉及两个玩家,每个玩家必须选择三种选项之一:石头、布或剪刀。石头用拳头表示,剪刀用张开的两根手指表示,布用平展开的手表示。

以下是可以发生的不同场景以及它们的意义:

  • 石头对布:布覆盖石头。布获胜。

  • 石头对剪刀:石头打破剪刀。石头获胜。

  • 布对剪刀:剪刀剪布。剪刀获胜。

  • 相同的标志:平局!

在这篇文章中,我们将使用我们对游戏的理解,以及我们对 Python 的初学者知识,将这个游戏编码成计算机程序。这将通过 Python 的条件语句:“if”,“elif”和“else”,以及使用随机模块来实现,这是一个内置的 Python 模块。我们将学习如何导入它并使用其功能在我们的游戏中加入随机元素。

在 Python 中实现游戏

现在我们将在 Python 中实现这个游戏。我们将使用 Python 列表的概念和随机化使用 Python 的 random 模块来实现我们的目标。

程序将按以下方式进行:

程序将要求你选择石头、剪刀或布。电脑将随机选择这三种选择之一。根据上述不同场景,程序将决定谁赢得了游戏,并给出再次玩游戏的选项。

定义列表 & 生成 ASCII 艺术

首先,我们将生成石头剪刀布的 ASCII 艺术。我们将将这些艺术存储在相应命名的变量中,这些变量进一步存储在 Python 列表rps_list中。

 rock = """
    _______
---'   ____)
      (_____)
      (_____)
      (____)
---.__(___)
"""

paper = """
     _______
---'    ____)____
           ______)
          _______)
         _______)
---.__________)
"""

scissors = """
    _______
---'   ____)____
          ______)
       __________)
      (____)
---.__(___)
"""

rps_list = [rock, paper, scissors ]

照片由Fadilah ImUnsplash上拍摄

从用户处获取输入

下一步是从用户那里获取输入。我们将使用变量user_choice来存储用户选择的游戏选项,并打印出来供用户查看。请注意,变量user_choice将存储输入作为字符串。这个关键点在我们使用条件语句比较用户和电脑的选择时将非常有用。

user_choice = input("What do you choose? Type 'rock' for Rock, 'scissors' for Scissors and 'paper' for Paper")
print(f"User chooses {user_choice}")

电脑的随机选择

一旦用户决定他们的选择,接下来我们将让计算机随机选择。我们将为此使用随机模块。你可以通过以下链接了解更多信息:

random — 生成伪随机数

随机模块的choice()函数允许我们从作为参数传递给它的 Python 列表中随机选择一个。我们将把这个随机选择存储在变量computer_choice中并打印出来。

import random
computer_choice = random.choice(rps_list)
print(f"Computer chooses {computer_choice}")

此外,你还可以查看这篇文章,它告诉你如何使用 Python 的随机模块将随机化包括在我们的代码中。它包括对不同函数的简单解释,以及易于理解的示例:

如何使用 Python 随机模块实现随机化

使用条件语句的场景

现在我们将以代码形式定义我们在一开始提到的所有不同场景。我们将使用 if、elif 和 else,这些是 Python 的条件语句,来完成这个任务。

if computer_choice == rock and user_choice == 'scissors':
    print("You lose")
elif computer_choice == rock and user_choice == 'paper':
    print("You win")
elif computer_choice == rock and user_choice == "rock":
    print("Draw")
elif computer_choice == paper and user_choice == 'paper':
    print("Draw")
elif computer_choice == paper and user_choice == 'scissors':
    print("You win")
elif computer_choice == paper and user_choice == "rock":
    print("You lose")
elif computer_choice == scissors and user_choice == 'scissors':
    print("Draw")
elif computer_choice == scissors and user_choice == "rock":
    print("You win")
elif computer_choice == scissors and user_choice == 'paper':
    print("You lose")
else:
    print("Error")

如上代码所示,我们已经利用了每一个场景,将计算机的选择与用户存储为字符串的选择进行比较(如引号所示),然后打印出结果,无论是用户赢、计算机赢还是两者平局。

结论

上述程序是一个简单的 Python 代码,易于理解,并介绍了 Python 的条件语句和随机模块的使用,特别是它的选择功能。

尽管有几种不同的方式可以编写这些场景的代码,但上述代码是一个明确且适合初学者的代码,其中包含了 if、elif 和 else 条件语句。你能想到其他编写这个游戏的方法吗?

posted @ 2026-03-28 10:22  布客飞龙V  阅读(2)  评论(0)    收藏  举报