logo

该视频仅会员有权观看

立即开通课程「Python 入门」权限。

¥
199
/ 年

用户输入(实战)

前面我们已经学习了如何定义变量、使用运算符进行计算以及如何使用不同的数据类型。接下来我们来学习下如何从用户那里获取输入,这在实际应用中是非常常见的。

在 Python 中,我们可以使用 input() 函数从用户那里获取输入,这个函数会暂停程序,等待用户输入,然后返回输入的内容作为字符串。就像在对话时,你会问一个问题,等待对方回答一样,input() 是程序和用户之间的“问答”机制。

如下所示,在 request_input.py 文件中获取用户输入的值,并输出这个值:

# request_input.py value = input("Please enter a value: ") print(value)

我们可以在终端中运行这个文件,然后输入一个值,这个值会被打印出来。

然后接下来我们会使用一个石头剪头布的游戏来演示如何使用用户输入,我们会随机生成一个石头剪头布,然后用户输入自己的选择,最后判断输赢。

在编写这个游戏之前,我们需要先了解下游戏规则。石头剪刀布是一个简单的游戏,玩家和电脑各自选择石头(Rock)、剪刀(Scissors)或布(Paper)。根据选择的不同,有以下几种结果:

  • 石头胜剪刀
  • 剪刀胜布
  • 布胜石头
  • 同时选择相同的结果为平局

我们将使用 input() 函数让玩家输入他们的选择,然后程序会生成电脑的选择,最后根据规则判断胜负。

接下来我们将编写的代码会比之前复杂一些,我们需要使用到一些还未学习的新知识点,比如条件语句、函数、随机数等,这里我们先不用担心,我们会在后续的课程中详细讲解这些知识点。

# rock_paper_scissors.py 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 == "石头"): return "你赢了!" else: return "你输了!" # 主程序 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()

上面的代码对于初学者来说可能有些难度,但是不用担心,这里我们重点学习如何使用 input() 函数获取用户输入,然后根据用户输入的内容进行相应的操作即可。

首先我们使用 random 模块来让电脑随机选择“石头”、“剪刀”或“布”:

import random

然后我们用一个列表存储游戏的三个选项:

choices = ["石头", "剪刀", "布"]

然后定义了一个名为 determine_winner 的函数,这个函数用于判断玩家和电脑的选择,然后返回胜负结果:

def determine_winner(player, computer): if player == computer: return "平局" elif (player == "石头" and computer == "剪刀") or \ (player == "剪刀" and computer == "布") or \ (player == "布" and computer == "石头"): return "你赢了!" else: return "你输了!"

我们可以将玩家和电脑的选择传递给这个函数,然后根据规则打印出胜负结果即可。

最后的 play_game 函数是游戏的主程序,用于获取用户输入并显示结果:

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)

在主函数中,我们首先输出欢迎信息和输入提示,然后使用 input() 函数获取玩家的选择,然后检查玩家输入是否在有效选项列表中,如果无效,提示重新输入。接着电脑随机选择一个选项,然后调用 determine_winner 函数判断结果,并显示在屏幕上。

最后要记住需要调用 play_game() 主函数来运行游戏,我们可以直接在终端中运行这个文件,然后输入我们的选择,就可以和电脑玩石头剪刀布游戏了。

到这里我们就将前面零散的知识点整合到了一起,包括变量、缩进、运算符以及如何获取用户输入等,在后续的课程中我们会继续深入学习更多知识点,帮助大家更好的掌握 Python 编程。