python中if语句的使用(比较逻辑成员运算符,语句结构)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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语句的使用(比较逻辑成员运算符,语句结构)的主要内容,如果未能解决你的问题,请参考以下文章

python中的条件语句,分支语句以及逻辑运算符和比较运算符

Python基础(if判断语句/逻辑运算符)

python基础语法 第5节课 ( if for )

Python基础语法

Python3 运算符:算术运算符比较运算符赋值运算符位运算符逻辑运算符成员运算符等介绍

要注意Python逻辑运算符与C/C++逻辑运算符的不同(逻辑与逻辑或逻辑非)用Python的if条件语句为示例