Python|石头,纸,剪刀与Python

Python|石头,纸,剪刀与Python

在Python中获得条件运算符、赋值运算符和比较运算符的句柄 。 我们将讨论Python操作符和条件、它们的语法以及使用它们的不同方法 , 以便创建一个摇滚、纸张、剪刀游戏 。
Python运算符运算符是操纵操作数值的符号或语句 。
考虑以下示例:10*3=5 。
整数“10”和“3”是操作数(也称为变量) , 而“*”是执行乘法作用的运算符 。 重要的是要理解 , 这些运算符的使用并不仅限于加法或乘法之类的运算 。 有些运算符可用于比较或确认语句是否正确 。
例如 , 在上一段中 , 我写道 , “整数‘10’和‘3’是操作数…”.在这个例子中 , 单词“and”成为运算符 , 因为它比较了两个整数 。 我们将在我们的游戏中使用逻辑运算符 。
Python语言支持以下操作符:

  • 算术算子
  • 比较算子
  • 逻辑运算符
  • 身份算子
  • 成员算子
  • 位算子
例如 , 关于这些运算符的详细信息 , 程序是我推荐退房的极好资源 。
Python条件语句条件语句 , 也称为…Other语句用于控制操作的流程 。 为了实现这一点 , 我们使用布尔值true和false--如果语句为true , 则执行此操作 , 否则执行此操作 。
为了说明这一点 , 让我们从石头剪刀的基本游戏开始 。

石头 , 纸 , 剪刀

我们首先定义一个函数“basicRPS” , 它将使用两个参数 , Player One‘s Hand(P1)和Player Twos Hand(P2) 。 一旦我们掌握了基本知识 , 我们将在游戏中增加一些逻辑 , 这样我们就可以在电脑上玩了 。
def basicRPS(p1p2):

我们的第一步是识别和评论我们的游戏规则 。
#ROCK BLUNTS SCISSORS

#SCISSORS CUTS PAPER

#PAPER COVERS ROCK

#IF PLAYERS CHOOSE THE SAME HAND THEN IT'S DRAW

从我们的描述 , 我们知道有三个选项 , 两个用户可以选择:岩石 , 纸或剪刀 。 取决于每个球员的选择 , 我们将得到一个赢家 。 现在 , 如果两个用户玩同一只手 , 那么结果就是平局 。 由于抽签取消了操作 , 让我们使用这作为我们的第一个条件 。
if p1.title() == p2.title():

return 'Draw!'

赋值和比较算子你可能在想 , “等一下 , 为什么有两个‘=’符号?”我很高兴你问了 。 在Python中 , “=”被认为是赋值运算符 , 而“==”则被认为是比较运算符 。
赋值运算符用于分配和重新分配给定变量的值 。 例如:
a = 5

5

a = 2

a

2

我们首先将“5”的值分配给变量“a” , 然后将“2”的值分配给同一个变量 。
比较运算符告诉我们语句是正确的还是错误的 。 考虑以下几点:
a = 5

b = 5

c = 3

a == b

True

a == c

False

在本例中 , 我们将值“5”分配给“a”和“b” 。 然后 , 我们问:“‘a’等于‘b’吗?”程序返回为true的 。 在继续之前 , 让我们再看一个例子 。
a = 5

b = '5'

a == b

False

您可能在想 , “如果‘a’和‘b’都是‘5’ , 为什么Python返回false?”其实很简单 。 当我们分配一个值时 , 我们也分配值的类型 。 瞧一瞧 。
type(a)

class'int'

type(b)

class'str'

当比较运算符询问“a”是否等于“b”时 , 它实际上是在问“a”是否真的与“b”的类型和值相同?通过用引号包围“5” , 我将值类型赋值为String , 从而导致false 。
这么说 , 让我们回到我们的游戏 。
if p1.title() == p2.title():

return 'Draw!'

我们问:“Player 1的手等于Player 2的手吗?”我们添加了“title()”方法来解释CAPS 。 如果结果为真 , 我们返回“抽签” 。 如果结果为假 , 则程序将继续运行 。 现在 , 我们需要决定 , 如果两个球员都发出独特的电话 , 会发生什么 。 我们将使用“Elif”语句来完成这一任务 。
# If the player chooses rock

elif p1.title() == 'Rock' and p2.title() == 'Paper':

return 'Player 2 won!'

elif p1.title() == 'Rock' and p2.title() == 'Scissors':

return 'Player 1 won!

通过添加我们的逻辑 , 我们决定:“如果玩家1选择摇滚 , ‘玩家2选择纸张 , 那么玩家2获胜 。 ”通过使用“Elif”语句 , 我们告诉Python , “如果最后一条语句返回false , 则运行此语句 。 ”在Python中 , “and”运算符称为逻辑运算符 。 为了使程序返回true , 这两个语句必须为true 。 如果任何一个都是假的 , 那么程序将返回false 。 从这一点开始 , 我们将继续 , 使用相同的逻辑 , 决定在用户选择剪刀和剪刀的情况下会发生什么 。
#If the user chooses paper

elif p1.title() == 'Paper' and p2.title() == 'Rock':

return 'Player 1 won!

【Python|石头,纸,剪刀与Python】elif p1.title() == 'Paper' and p2.title() == 'Scissors':

return 'Player 2 won!'

# If the user chooses scissors

elif p1.title() == 'Scissors' and p2.title() == 'Paper':

return 'Player 1 won!'

elif p1.title() == 'Scissors' and p2.title() == 'Rock':

return 'Player 2 won!'

给你!石头 , 纸 , 剪刀的基本游戏 。 在这一点上 , 我们对所涉及的逻辑有了很好的理解 。 让我们更进一步 , 调整我们的代码 , 这样我们就可以对着电脑玩了 。
巨蟒石头 , 纸 , 剪刀为了让我们与电脑对决 , 并有一个公平的游戏 , 我们将需要从随机模块导入选择 。
选择模型允许我们从给定的列表中导入一个随机元素 。 在我们的例子中 , 清单将是我们三个选择之一 。 在我们实现我们的逻辑之前 , 让我们定义我们的函数并分配我们的变量 。
from random import choice

def playRPS():

beats = {'rock' : 'scissors' 'scissors' : 'paper''paper': 'rock'

computerHand = beats[choice(['rock''paper''scissors'
)


playerHand = input('Choose Rock Paper Scissors: '

首先 , 我们创建了一个名为拍的字典 , 其中包含了一个键值对结果(键拍值) 。 使用相同的字典 , 我们调用与“拍”字典中的键相等的手列表上的选择方法 。 最后一个变量“playerHand”指定用户输入作为其值 。
作为这个基本设置的结果 , 我们可以实现我们的逻辑 。
if beats[playerHand
== computerHand:

print(f'Computer played {computerHand')

return 'Player Wins!'

这可能会也可能不会给你带来一些让你明白的事情 。 为了以防万一 , 让我们赶快解决这个问题吧 。
假设玩家输入了“摇滚” 。
关键的“岩石”的价值是剪刀 。
如果电脑随机选择“剪刀” , 那么“玩家”就赢了 , 因为石头胜过剪刀 。 很简单对吧?现在 , 我们只需要在计算机获胜的情况下添加“Elif”语句 。
elif beats[computerHand
== playerHand:

print(f'Computer played {computerHand')

return 'Sorry Computer Won...'

和以前一样 , 如果键(计算机的手)的值与玩家的手相同 , 那么计算机就赢了 。 现在 , 我们的最后一步是解释一下平局 。
return 'Draw!'

这一步基本上是说 , 如果其他两个语句中没有一个是真的 , 那么返回“Pay” 。 就在这里!你刚编程了一个互动游戏 , 石头 , 纸 , 剪刀 。
结语综上所述 , 我们了解到Python操作符和条件语句的类型很多 。 我们还了解到 , 条件语句可以用来控制操作的流程 。 作为一种工具 , 条件语句是无价之宝 , 应该在每个程序员的工具包中 。 我们做了一个基本的游戏 , 石头 , 纸 , 剪刀 , 甚至提高了一个档次 , 以便我们可以玩电脑 。
如果你喜欢这篇文章 , 并希望看到其他类似的项目 , 请在下面留下评论 。 下次再说!


    推荐阅读