
在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操作符和条件语句的类型很多 。 我们还了解到 , 条件语句可以用来控制操作的流程 。 作为一种工具 , 条件语句是无价之宝 , 应该在每个程序员的工具包中 。 我们做了一个基本的游戏 , 石头 , 纸 , 剪刀 , 甚至提高了一个档次 , 以便我们可以玩电脑 。
如果你喜欢这篇文章 , 并希望看到其他类似的项目 , 请在下面留下评论 。 下次再说!
推荐阅读
-
-
-
地铁■中国地铁最发达省会武汉第三,广州第二,第一名地铁修到了外省
-
-
月夜_墨影|头条首两轮姐妹花出手;3900万票大战!芮甜甜领跑
-
『钱江晚报小时新闻』舌尖上的药材|中药界的“调味料”,你不知道的妙用
-
古今医案研读|年七十,患痢,脉洪弦,从表里双解医案研读,明朝陆士龙治一妇人
-
新华网|三部门联合发文:这些人员学校不得招录为教职员工
-
-
-
长三角市场监管一体化再升级 三省一市签订“7+1”合作协议
-
[官方回应凤凰古城停车费百元起步]官方回应凤凰古城停车费百元起步:是造谣和恶意炒作
-
-
-
-
环球时报|“群体免疫”后果如何?瑞典上半年死亡人数创150年来最高纪录
-
央视网|日本新增确诊病例1606例 单日新增确诊病例再现新高
-
-
【央视新闻客户端】韩国新增新冠确诊病例121例,政府下调首都圈防疫措施级别
-
白十三|《赤狐书生》曝陈立农李现“可爱四连拍” 狐妖尾巴蓬松软萌超抢镜