用户输入
在 Python 中,我们可以使用 input() 函数从用户那里获取输入,这个函数会暂停程序,等待用户输入,然后返回输入的内容作为字符串。就像在对话时,你会问一个问题,等待对方回答一样,input() 是程序和用户之间的“问答”机制。
如下所示,在 request_input.py 文件中获取用户输入的值,并输出这个值:
value = input('请输入你的值: ')
print(f'你的值:{value}')
然后接下来我们会使用一个石头剪头布的游戏来演示如何使用用户输入,我们会随机生成一个石头剪头布,然后用户输入自己的选择,最后判断输赢。
在编写这个游戏之前,我们需要先了解下游戏规则。石头剪刀布是一个简单的游戏,玩家和电脑各自选择石头(Rock)、剪刀(Scissors)或布(Paper)。根据选择的不同,有以下几种结果:
- 石头胜剪刀
- 剪刀胜布
- 布胜石头
- 同时选择相同的结果为平局
我们将使用 input() 函数让玩家输入他们的选择,然后程序会生成电脑的选择,最后根据规则判断胜负。
接下来我们将编写的代码会比之前复杂一些,我们需要使用到一些还未学习的新知识点,比如条件语句、函数、随机数等,这里我们先不用担心,我们会在后续的课程中详细讲解这些知识点。
import random
# 游戏选项
choices = ["石头", "剪刀", "布"]
# 计算结果函数
def determine_winner(player: str, computer: str):
if player == computer:
return "平局"
elif (player == "石头" and computer == "剪刀") or \
(player == "剪刀" and computer == "布") or \
(player == "布" and computer == "石头") :
print('人获胜')
else:
print('机器获胜')
# 主程序
def play_game():
print('欢迎来到石头剪刀布游戏!')
print("请输入 '石头', '剪刀', 或 '布'")
# 获取用户输入
player_choice = input('请输入你的选择: ')
if player_choice not in choices:
print("无效的选择,请重新输入~")
return
# 电脑随机选择
computer_choice = random.choice(choices)
print(f'电脑的选择: {computer_choice}')
# 判断胜负
result = determine_winner(player_choice, computer_choice)
print(result)
# 运行游戏
play_game()