码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2020-03-15 10:07:46      阅读:270      评论:0      收藏:0      [点我收藏+]

标签:atm   sum   adf   ffffff   参与   d3d   比较对象是否相等   处理   通过   

技术图片

一、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语句的使用(比较、逻辑、成员、运算符,语句结构)

标签:atm   sum   adf   ffffff   参与   d3d   比较对象是否相等   处理   通过   

原文地址:https://blog.51cto.com/14320361/2478186

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!