引言:

欢迎来到本文的石头剪刀布游戏教程!石头剪刀布是一款经典的手势猜拳游戏,无论是孩童还是成年人,都可以轻松上手并享受其中的乐趣。在本教程中,我们将使用Python编写一个简单的石头剪刀布游戏,并介绍其中涉及的函数和功能。让我们一起来探索这个有趣的游戏世界吧!

介绍:

在我们的石头剪刀布游戏示例中,我们应用了以下几个函数和功能:

  1. print()函数:

这个函数用于在控制台打印输出游戏的欢迎信息、用户选择和游戏结果等。通过调用print()函数,我们可以将信息展示给玩家,使游戏过程更加交互和友好。

  1. input()函数:

input()函数用于接收用户的输入,我们可以使用它来获取玩家的选择。在我们的示例中,通过input()函数接收玩家输入的选择,并将其转换为整数类型进行判断和比较。

  1. random模块和random.randint()函数:

我们使用了random模块中的randint()函数来生成电脑的随机选择。通过调用random.randint()函数,我们可以在指定的范围内(这里是1到3)随机选择一个整数作为电脑的选择,从而实现游戏的随机性。

  1. 条件判断和逻辑运算符:

在游戏过程中,我们使用了条件判断和逻辑运算符来判断玩家和电脑的选择,进而确定游戏的结果。通过if-elif-else语句,我们根据石头剪刀布游戏的规则判断玩家是赢、输还是平局,并输出相应的结果。

  1. 递归调用:

为了实现游戏的连续进行,我们使用了递归调用的方式。当一局游戏结束后,我们通过询问玩家是否再玩一局来决定是否继续调用play_game()函数,从而实现多轮游戏的连续进行。

通过以上函数和功能的运用,我们构建了一个简单但具有趣味性的石头剪刀布游戏。在接下来的内容中,我们将详细讲解每个函数和功能的作用及其在游戏中的应用,帮助您更好地理解和运用Python编程的基本概念。

石头剪刀布示例代码

编写一个简单的石头剪刀布游戏的示例代码。以下是代码的基本结构:

import random

def play_game():
    print("欢迎来到石头剪刀布游戏!")
    print("请选择:")
    print("1. 石头")
    print("2. 剪刀")
    print("3. 布")
  
    user_choice = int(input("请输入你的选择(1-3):"))
    computer_choice = random.randint(1, 3)
  
    choices = {1: "石头", 2: "剪刀", 3: "布"}
  
    print("你选择了:" + choices[user_choice])
    print("电脑选择了:" + choices[computer_choice])
  
    if user_choice == computer_choice:
        print("平局!")
    elif (user_choice == 1 and computer_choice == 2) or \
         (user_choice == 2 and computer_choice == 3) or \
         (user_choice == 3 and computer_choice == 1):
        print("你赢了!")
    else:
        print("你输了!")
  
    play_again = input("是否再玩一局?(是/否)")
    if play_again.lower() == "是":
        play_game()
    else:
        print("游戏结束。谢谢参与!")

play_game()

这段代码首先展示游戏的欢迎信息,并要求玩家选择石头、剪刀或布。然后,通过 random.randint() 函数随机生成电脑的选择。接下来,将玩家和电脑的选择打印出来,并根据游戏规则判断输赢关系。最后,询问玩家是否再玩一局,如果玩家选择是,则再次调用 play_game() 函数开始新一局游戏。

您可以根据需要扩展代码,例如增加计分功能、加入界面美化等。希望这个简单的石头剪刀布游戏示例对您有帮助!


更新:

我对代码进行了优化以添加计分功能、用户名输入和历史记录查询功能。以下是更新后的示例代码:

import random

# 计分变量
player_score = 0
computer_score = 0

# 历史记录字典
history = {}

# 用户名输入
username = input("请输入您的用户名:")

# 历史记录查询
if username in history:
    print(f"欢迎回来,{username}!您的历史记录如下:")
    print(history[username])

while True:
    # 玩家选择
    print("石头剪刀布游戏开始!")
    print("请出拳:1.石头  2.剪刀  3.布")
    player_choice = int(input("请输入选项:"))

    # 计算机随机选择
    computer_choice = random.randint(1, 3)

    # 判断输赢并计分
    if player_choice == computer_choice:
        print("平局!")
    elif (player_choice == 1 and computer_choice == 2) or \
         (player_choice == 2 and computer_choice == 3) or \
         (player_choice == 3 and computer_choice == 1):
        print("您赢了!")
        player_score += 1
    else:
        print("您输了!")
        computer_score += 1

    # 显示当前得分
    print(f"{username}:{player_score}  电脑:{computer_score}")

    # 保存历史记录
    if username not in history:
        history[username] = []
    history[username].append(f"玩家得分:{player_score}  电脑得分:{computer_score}")

    # 是否继续游戏
    choice = input("是否继续游戏?(y/n): ")
    if choice.lower() != 'y':
        break

# 游戏结束,显示最终得分
print("游戏结束!")
print(f"{username}:{player_score}  电脑:{computer_score}")

# 保存历史记录
with open("history.txt", "a") as file:
    file.write(f"{username}: {history[username][-1]}\n")

这次更新的代码添加了计分功能,通过player_scorecomputer_score变量分别记录玩家和计算机的得分。同时,加入了用户名输入功能,并根据用户名查询历史记录。最后,将每次游戏的历史记录保存到history.txt文件中。

请注意,为了使历史记录能够持久保存,需要将代码中的存储路径适配为实际的文件路径。另外,您还可以根据需求进一步扩展代码,增加其他功能或优化用户体验。

最后修改:2023 年 05 月 16 日
喜欢就用赞赏来鞭打我吧~