失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > python中if语句and和or用法_python中if语句的使用(比较 逻辑 成员 运算符 语句结构)...

python中if语句and和or用法_python中if语句的使用(比较 逻辑 成员 运算符 语句结构)...

时间:2023-05-21 16:38:27

相关推荐

python中if语句and和or用法_python中if语句的使用(比较 逻辑 成员 运算符 语句结构)...

一、if语句判断的定义

如果 条件满足,才能做某件事情,

如果 条件不满足,就做另外一件事情,或者什么也不做

正是因为有了判断,才使得程序世界丰富多彩,充满变化!

判断语句 又被称为 “分支语句”,正是因为有了判断,才让程序有了很多的分支

Python程序语言指定任何非0和非空(null)值为true,0 或者 null为false。

Python 编程中 if 语句用于控制程序的执行,基本形式为:

if 判断条件:

执行语句……

else:

执行语句……

例子:如果天气晴朗,我们去室外散步;否则,继续宅在家里

我们要判断出语句中的关键字然后基于此编写脚本

"""

如果 天气晴朗

去室外散步

否则

继续宅在家里

"""

state = '阴天'

if state == '晴朗':

print('室外散步!')

else:

print('继续宅在家里。')

二、if语句的比较运算符

以下假设变量a为10,变量b为20:

运算符

描述

实例

==

等于 - 比较对象是否相等

(a == b) 返回 False。

!=

不等于 - 比较两个对象是否不相等

(a != b) 返回 true.

<>

不等于 - 比较两个对象是否不相等。python3 已废弃。

(a <> b) 返回 true。这个运算符类似 != 。

>

大于 - 返回x是否大于y

(a > b) 返回 False。

<

小于 - 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。

(a < b) 返回 true。

>=

大于等于 - 返回x是否大于等于y。

(a >= b) 返回 False。

<=

小于等于 - 返回x是否小于等于y。

(a <= b) 返回 true。

例子

1、算数运算符在条件表达式中的应用:ATM/客服

key = 1

if key == 1:

print('存款')

else:

print('取款')

#当数值等于1时存款,否则取款

2、!=的使用

if key != 1:

print('不存款')

else:

print('存款')

#当数值不等于1时不存款,否则取款

3、>=的使用

age = 18

if age >= 18:

print('允许进入网吧')

else:

print('未成年人禁止进入!')

#当年龄大于18可以进网吧,否则不行

三、if语句的逻辑运算符

Python语言支持逻辑运算符,以下假设变量 a 为 10, b为 20:

运算符

逻辑表达式

描述

实例

and

x and y

布尔"与" - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。

(a and b) 返回 20。

or

x or y

布尔"或" - 如果 x 是非 0,它返回 x 的值,否则它返回 y 的计算值。

(a or b) 返回 10。

not

not x

布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。

not(a and b) 返回 False

注意:if 有多个条件时可使用括号来区分判断的先后顺序,括号中的判断优先执行,此外 and 和 or 的优先级低于 >(大于)、<(小于)等判断符号,即大于和小于在没有括号的情况下会比与或要优先判断。

例子

当年龄大于等于18岁,或有100块钱并且有身份证就可进入,否则不得进入

# 逻辑运算符:and/or

age = 16

money = 100

id_card = True

if (age >= 18 or money >= 100) and id_card:

print('欢迎光临!')

else:

print('抱歉')

四、if语句的成员运算符

除了以上的一些运算符之外,Python还支持成员运算符,测试实例中包含了一系列的成员,包括字符串,列表或元组。

运算符

描述

实例

in

如果在指定的序列中找到值返回 True,否则返回 False。

x 在 y 序列中 , 如果 x 在 y 序列中返回 True。

not in

如果在指定的序列中没有找到值返回 True,否则返回 False。

x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。

例子

1、成员运算符:in/not in

当names列表中包含小写的Kety,就输出存在,否则不存在

names = ['Job','Bili','Laoyew','kety']

name = 'Kety'

if name.lower() in names:

print('存在')

else:

print('不存在')

当names列表中不包含大写的Kety,就输出不存在,否则存在

if name.upper() not in names:

print('不存在')

else:

print('存在')

五、小练习

1、检查是否相等

num = 1

if num == 1:

print('ok')

else:

print('no')

2、检查是否不相等

num1 = 2

if num1 != 1:

print('no')

else:

print('yes')

3、比较数字

num2 = 3

num3 = 4

if num2 <= num3:

print('ok')

else:

print('no')

4、检查多个条件

num4 = 5

num5 = 6

num6 = 7

if (num4 >= 5 or num5 >= 6) and num6 ==7:

print ('ok')

else:

print('no')

5、检查特定的值是否包含在列表中

num7 = ['a','b','c']

num8 = ['D']

if num8 in num7:

print('yes')

else:

print('no')

if str(num8).lower() in num7:

print('yes')

else:

print('no')

6、检查特定的值是否不包含在列表中

if str(num8).upper() not in num7:

print('no')

else:

print('yes')

六、if语句结构

1、简单的if语句

# 简单的if

age = 0

if age ==0:

print('婴儿')

print()

注意:Python 区分语句块采用的是缩进规则。具有相同缩进的代码被视是同一结构的代码块,上面的2,3行 print 语句就构成一个代码块( 但不包括第6行的 print 语句),他们都属于 if 下的语句块。

如果 age大于等于18,就会执行第 2 和 3 行的 if 语句块。

缩进要严格按照 Python 的习惯写法:4个空格,或者使用 Tab,不要混合 Tab 和空格,否则很容易造成因为缩进而引起的语法错误。

(一)if...else... 语句

if...else... 语句,当 if 的条件为 True 时执行 if 下的语句块,否则执行 else 下语句块。

if...else... 语句格式如下:

if <条件>:

【if 的语句块】

else:

【else 的语句块】

释:条件为 True 时执行【if的语句块】,否则执行【else的语句块】

注意:if 和 else 语句以及各自的缩进部分共同是一个 完整的代码块

例子

# if-else

age = 3

if age >= 2 and age <= 4:

print('蹒跚学步')

else:

print('婴儿')

(二)if...elif...else... 语句

在开发中,使用 if 可以 判断条件,使用 else 可以处理 条件不成立 的情况

如果希望 再增加一些条件,条件不同,需要执行的代码也不同 时,就可以使用 elif

语法格式如下:

if 条件1:

条件1满足执行的代码

……

elif 条件2:

条件2满足时,执行的代码

……

elif 条件3:

条件3满足时,执行的代码

……

else:

以上条件都不满足时,执行的代码

……

注意:elif 和 else 都必须和 if 联合使用,而不能单独使用

可以将 if、 elif 和 else 以及各自缩进的代码,看成一个 完整的代码块

例子:

# if-elif-else

age = 3

if age ==0:

print('婴儿')

elif age >= 2 and age <= 4:

print('蹒跚学步')

elif age > 4 and age <=5:

print('上幼儿园')

else:

print('其他')

(三)if 的嵌套

**elif 的应用场景是:同时 判断 多个条件,所有的条件是 平级 的**

在开发中,使用 if 进行条件判断,如果希望 在条件成立的执行语句中 再 增加条件判断,就可以使用 if 的嵌套

if 的嵌套 的应用场景就是:在之前条件满足的前提下,再增加额外的判断

if 的嵌套 的语法格式,除了缩进之外 和之前的没有区别

语法格式如下:

if 条件 1:

条件 1 满足执行的代码

……

if 条件 1 基础上的条件 2:

条件 2 满足时,执行的代码

……

# 条件 2 不满足的处理

else:

条件 2 不满足时,执行的代码

# 条件 1 不满足的处理

else:

条件1 不满足时,执行的代码

……

例子

1、当百米赛跑时间小于等于10秒时,男女分组进入决赛

second = 6

gender = '男'

if second <= 10:

print('进入决赛')

if gender == '男':

print('进入男子组')

elif gender == '女':

print('进入女子组')

else:

print('重在参与,杭氧体育精神')

2、if 的嵌套 演练 —— 火车站安检

需求

定义布尔型变量 has_ticket 表示是否有车票

定义整型变量 knife_length 表示刀的长度,单位:厘米

首先检查是否有车票,如果有,才允许进行 安检

安检时,需要检查刀的长度,判断是否超过 20 厘米

如果超过 20 厘米,提示刀的长度,不允许上车

如果不超过 20 厘米,安检通过

如果没有车票,不允许进门

# 定义布尔型变量 has_ticket 表示是否有车票

has_ticket = True

# 定义整数型变量 knife_length 表示刀的长度,单位:厘米

knife_length = 20

# 首先检查是否有车票,如果有,才允许进行 安检

if has_ticket:

print("有车票,可以开始安检...")

# 安检时,需要检查刀的长度,判断是否超过 20 厘米

# 如果超过 20 厘米,提示刀的长度,不允许上车

if knife_length >= 20:

print("不允许携带 %d 厘米长的刀上车" % knife_length)

# 如果不超过 20 厘米,安检通过

else:

print("安检通过,祝您旅途愉快……")

# 如果没有车票,不允许进门

else:

print("大哥,您要先买票啊")

六、小练习(2)

1、 求100以内数字的偶数之和与奇数之和

j = list(range(1,101,2))

print(sum(j))

print(sum(range(2,101,2)))

2、输出100以内7的倍数的数字

for i in range(1,101):

if i%7 == 0:

print(i,end=' ')

3、打印直角三角形,奇数用*号代替,偶数用#号代替

xgp = list(range(1,10,2))

wsd = list(range(2,10,2))

for i in range(1,10):

for j in range(i+1):

if j in xgp:

print("*",end='')

elif j in wsd:

print("#",end='')

print()

4、

查看fruits列表中是否有apper

# 定义列表

fruits = ['apper','banana','pear','orange']

fruit = 'apper'

if fruit in fruits:

print('存在')

if嵌套

for f in fruits:

if f == 'pear':

print('做梨罐头')

elif f == 'orange':

print('做橘子罐头')

elif f == 'apple':

print('做苹果罐头')

else:

print('做沙拉')

#fruits = []

fruits = ['apple','banana','pear','orange']

print(fruits)

if len(fruits) == 0:

print('没有水果')

else:

print('开始做水果罐头了')

for fruit in fruits:

print(fruit,end=" ")

如果觉得《python中if语句and和or用法_python中if语句的使用(比较 逻辑 成员 运算符 语句结构)...》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。