今天我们来分享一个使用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编程的趣味性和实用性。这个游戏不仅让我复习了input
、random.choice
等基础知识,还让我学会了如何定义函数、处理用户输入以及编写逻辑判断。
在编写过程中,我也遇到了一些小挑战,比如如何优雅地处理用户输入错误,以及如何让程序更加健壮。通过不断地调试和修改,我最终成功地解决了这些问题,并得到了一个能够稳定运行的游戏程序。
此外,通过在Jupyter Notebook中调用Python文件中的函数,我更加熟悉了这两个工具的协同工作方式。这种工作方式不仅提高了我的编程效率,也让我能够更加方便地记录和分享我的编程实践和学习心得。
总之,通过编写这个猜拳游戏,我不仅学到了很多新的知识和技能,还收获了很多乐趣和成就感。我相信在未来的学习和工作中,我会继续探索Python的更多应用,并不断提升自己的编程能力。