11.Python语法之条件运算符and or not及猜拳小游戏
提示:帮帮志会陆续更新非常多的IT技术知识,希望分享的内容对您有用。本章分享的是Python基础语法。前后每一小节的内容是存在的有:学习and理解的关联性,希望对您有用~
python语法-python基础 第十一节 :Python代码条件运算符 and or not 猜拳小游戏
前言
本小节分享:and 、or、 not三个条件运算符的使用区别,后续有一个案例能更深层理解。也可以:为了看明白猜拳小游戏案例逻辑,额外分享了and 、or、 not三个条件运算符。 以此帮助理解Python条件运算符
提示:以下是本篇文章正文内容,下面案例可供参考
一、and运算符 or运算符
这两个运算符:and运算符和or运算符都是拼接两个bool数据类型变量的。简单来说:就是拼接两个条件。从而得到一个新的条件结果:
and 两个条件 需要同时满足
or 两个条件 满足一个即可
首先:
a = 10>0
# a = True
b = 10<0
# b = False
print(type(a))#查看数据类型 前面小节分享过
print(type(b))#可以去前面查看 细节分享
它们的数据类型都是bool
都是bool类型的:
任何复杂的需求\代码:
要用到and运算符 or运算符。都是这个底层逻辑, 语义分别是:同时满足还是满足一个。所以它们两边都是拼接bool类型。
如果,可以拼接一个不是bool类型的,好,那怎么算。~代码执行还是不执行,(手动,黑人问号表情)。代码本身已经不能准确描述了。
a = 10>0
# a = True
b = 10<0
# b = False
if a and b: #两个同时满足 --》 同时都是true的情况,最后合并起来才是:true
print("a和b同时都为True!")
else:
print("二选一,有一个不满足条件")#执行else里面代码块 最终输出这句
if a or b: #满足一个即可 --》 两边任意一个是true的情况,合并起来就是:true
print("a和b同时满足或者有其中一个满足即可")
else:
print("a和b同时都为False")
运行结果:
案例:
score = int(input("请输入成绩"))
#and 同时满足 大于等于0并且小于60
if score >= 0 and score < 60: #用or错误,满足一个即可。 万一用户成绩是90,也是不及格。90大于0
print('不及格')
elif score >= 60 and score < 90:
print('良')
elif score >= 90 and score < 100:
print('优')
else:
print('请正确输入成绩区间,在0~100之间')
案例思考:
score >= 0 and score < 60 为不及格,需要两边同时满足。
如果用or,逻辑错误(变成了:score >= 0 or score < 60 ),满足一个即可:
万一用户成绩是90,也是不及格。90大于0(满足它:score >= 0)
二、not运算符
not是取相反值
not在Python里面比较常用,经常和其他关键字搭配,如:not None(非空)、not in (不在某某范围内)等等
not除了跟一些语法关键字,后面也可以直接跟bool类型
c = false
if not c:
print("您好")
运行结果:输出您好
c明明是false,不满足条件的。但是not,取相反值,变成true了
有些Python自带的很多方法,它返回一个bool给开发者,但是开发者需要相反的值来使用,就可以加一个not ,方法的逻辑需求就完全反过来了。
如:判断某某字符串里面是否含有xx字符,某某列表里面是否含有xx数据,等等。
我们就可以是not :没有xx字符,没有xx数据。
三、猜拳小游戏
需求:系统随机生成一个数字,可以是:1 或者 2 或者 3 的任意一个,
用户填入一个数字,只能是:1 或者 2 或者 3的 任意一个,
我们默认石头:(1)。剪刀:(2)。布:(3)。
#导入提供随机的功能类
import random
#让用户输入一个数字,我们将数字存储到变量player里面
player = int(input("请输入您的操作(1)石头(2)剪刀(3)布"))
# 系统随机生成1-3中的随机数
#随机数方法:random.randint(start,end)
#填写一个起始值和结束值。会随机取出一个数字(包括start,包括end) 所以目前3也能概率取出
computer = random.randint(1,3)
#分析结果
"""
判断玩家赢:
player:1 computer:2
player:2 computer:3
player:3 computer:1
"""
#同时满足这些条件,玩家赢,不需要写很多很多句if嵌套了,用条件运算符一句写完。
if (player == 1 and computer == 2) or (player == 2 and computer == 3) or (player == 3 and computer == 1):
print("系统弱爆了,玩家胜出!")
elif player == computer:
print("平局!")
else:
#那么长的条件写一次得了,玩家输的情况用else来封装,对吧~
print("不服,决战到天明!")#玩家输了
总结
and 、or、 not三个条件运算符 分别对应三种不同的情况,根据实际需求去编写即可。