Python实现猜拳游戏并分享实践经验

今天我们来分享一个使用Python编写的简单猜拳游戏。这个游戏允许用户通过键盘输入与电脑进行对战,判断谁赢谁输。首先,我们会在一个.py文件中定义游戏函数,然后在Jupyter Notebook中调用这个函数来玩游戏。

 一、定义猜拳游戏函数 

首先,我们需要创建一个Python文件(例如rock_paper_scissors.py),并在其中定义游戏函数。rock_paper_scissors.py

# rock_paper_scissors.py  
import random  
  
def determine_winner(player_choice, computer_choice):  
    if player_choice == computer_choice:  
        return "平局"  
    elif (player_choice == "石头" and computer_choice == "剪刀") or \  
         (player_choice == "剪刀" and computer_choice == "布") or \  
         (player_choice == "布" and computer_choice == "石头"):  
        return "你赢了!"  
    else:  
        return "你输了!"  
  
def play_game():  
    choices = ["石头", "剪刀", "布"]  
    computer_choice = random.choice(choices)  
    print("电脑出了:", computer_choice)  
  
    player_input = input("请输入你的选择(1为石头,2为剪刀,3为布):")  
    if player_input not in ["1", "2", "3"]:  
        print("无效输入,请重新选择!")  
        return  
  
    player_choice = choices[int(player_input) - 1]  
    print("你出了:", player_choice)  
  
    result = determine_winner(player_choice, computer_choice)  
    print(result)  
  
# 如果你想要直接运行游戏,可以取消注释下面这行  
# play_game()

二、在Jupyter Notebook中调用游戏函数

接下来,我们打开Jupyter Notebook,并在一个单元格中导入并调用上面定义的play_game函数。Jupyter Notebook

 代码如下:

# 在Jupyter Notebook中  
import rock_paper_scissors  
  
# 调用游戏函数  
rock_paper_scissors.play_game()

运行这个单元格后,Jupyter Notebook会显示游戏的提示和结果。

注意事项
  • 确保rock_paper_scissors.py文件在你的Jupyter Notebook的工作目录中,或者你可以提供正确的文件路径来导入它。可以在Notebook中使用Python代码来检查文件是否存在,,以下是一个简单的Python代码示例,用于检查文件是否存在:
    import os
     
    # 获取当前工作目录
    current_directory = os.getcwd()
     
    # 文件名
    filename = 'rock_paper_scissors.py'
     
    # 检查文件是否存在于当前工作目录
    file_exists = os.path.isfile(os.path.join(current_directory, filename))
     
    if file_exists:
        print(f'文件 {filename} 存在于工作目录中。')
    else:
        print(f'文件 {filename} 不存在于工作目录中。')

    如果文件不存在,你可以使用Python的open函数或其他文件操作函数来创建它,或者将其上传到当前工作目录。如果你想确保你的Jupyter Notebook可以导入该模块,你可以使用如下代码将文件放置在当前工作目录:

    !cp /path/to/rock_paper_scissors.py .

    请确保将/path/to/rock_paper_scissors.py替换为rock_paper_scissors.py文件的实际路径。如果你想要上传文件到当前工作目录,可以使用以下代码:

    from google.colab import files
    uploaded = files.upload()
    with open('rock_paper_scissors.py', 'w') as f:
        f.write(uploaded[filename])

    这段代码适用于在Google Colab,如果你在其他环境中工作,可能需要不同的方法来上传文件。

  • 在Jupyter Notebook中,你可以多次调用rock_paper_scissors.play_game()函数来重复进行游戏。

三、实践经验与学习心得

通过编写和玩这个猜拳游戏,我深刻体会到了Python编程的趣味性和实用性。这个游戏不仅让我复习了inputrandom.choice等基础知识,还让我学会了如何定义函数、处理用户输入以及编写逻辑判断。

在编写过程中,我也遇到了一些小挑战,比如如何优雅地处理用户输入错误,以及如何让程序更加健壮。通过不断地调试和修改,我最终成功地解决了这些问题,并得到了一个能够稳定运行的游戏程序。

此外,通过在Jupyter Notebook中调用Python文件中的函数,我更加熟悉了这两个工具的协同工作方式。这种工作方式不仅提高了我的编程效率,也让我能够更加方便地记录和分享我的编程实践和学习心得。

总之,通过编写这个猜拳游戏,我不仅学到了很多新的知识和技能,还收获了很多乐趣和成就感。我相信在未来的学习和工作中,我会继续探索Python的更多应用,并不断提升自己的编程能力。

  • 6
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值