Python基础学习笔记——分支语句

本文围绕Python分支语句展开,介绍其作用是根据判断条件选择执行路径。阐述了if - else、if - elif - else的使用方法及注意事项,还讲解了三目运算、if嵌套、if语句扩展,以及关系和逻辑运算符在分支语句中的应用。

分支语句

解释:控制程序的语句,根据判断条件选择程序的执行路径。
作用:判断条件是否成立的,当条件成立会执行if语句里面的代码,否则if语句里面的代码不执行。
使用方法:

if <条件1>:
	<语句块1>
elif <条件2>:
    <语句块2>
    ...
else:
    <语句块N>
  • if-else: 当条件成立执行if语句,否则条件不成立执行else语句
  • if-elif-else,当某个条件成立时,会执行对应的if语句,其它的判断语句就不再执行。
    注意
  • elif必须和if一起使用,否则出错;
  • else一般用在最后,即所有条件都不满足时使用。
# 需求: 根据分数进行评级
score = 80

if (score >= 90) and (score <= 100):
    print("优秀")
elif (score >= 80) and (score < 90):
    print("良好")
elif (score >= 70) and (score < 80):
    print("一般般")
elif (score >= 60) and (score < 70):
    print("及格")
else:
    # 以上所有的条件都不成立,会执行else语句,当然else是可选的
    print("不及格")

三目运算(三目表达式)

  • 三目运算是if-else的简化
  • 当条件成立,输出if左侧数据;当条件不成立,输出else后的数据。
# 原始if-else语句
a = 1
b = 2
if a > b:
    print(a)
else:
    print(b)

# 使用三目运算简化if-else语句的使用
result = a if a > b else b
print(result)

if嵌套

  • 外层的if判断,也可以是if-else
  • 内层的if判断,也可以是if-else
  • 根据实际开发的情况,进行选择
# 男生找女朋友
sex = input("请输入您的性别:")
if sex == "女":
    print("代码执行到此: 说明性别没有问题")

    # 性别没有问题以后,再判断年龄是否合适
    age = int(input("请输入您的芳龄:"))
    if (age >= 18) and (age <= 25):
        print("找到心中女神")
    else:
        print("我们不太合适")
else:
    print("对不起,我们只要女生")

if语句的扩展

if语句除了结合bool类型使用,还可以集合以下类型:

  1. 容器类型(字符串,二进制,列表,字典,元组,集合等)
  2. 数字类型
  3. None类型

bool类型:True表示成立;False表示不成立。

if True:
    print("条件成立")
else:
    print("条件不成立")

容器类型:容器里有数据条件成立;容器里没有数据条件不成立。

# 元组
my_tuple = ()
if my_tuple:
    print("条件成立")
else:
    print("条件不成立")

# 字符串
my_str = ""
if my_str:
    print("字符串条件成立")
else:
    print("字符串条件不成立")
    
# 列表
my_list = []
if my_list:
    print("列表条件成立")
else:
    print("列条件不成立")
    
# 字节
my_bytes = b''
if my_bytes:
    print("字节条件成立")
else:
    print("字节件不成立")

数字类型:非0即真。

if 0:
    print("条件成立")
else:
    print("条件失败")

None类型:None表示不成立;not None表示成立。

if None:
    print("成立")
else:
    print("失败")

关系(比较、条件)运算符

  • 两个变量使用比较运算符获取的结果是bool类型。
  • bool类型只有两个值:True、False,当结果是True的时候if语句会执行,否则不执行。
运算符描述示例
==检查两个操作数的值是否相等,如果是则条件变为真如a=3,b=3,则(a == b)为True
!=检查两个操作数的值是否相等,如果值不相等,则条件变为真。如a=1,b=3,则(a != b)为True
>检查左操作数的值是否大于右操作数的值,如果是,则条件成立。如a=7,b=3,则(a > b)为True
<检查左操作数的值是否小于右操作数的值,如果是,则条件成立。如a=7,b=3,则(a < b)为False
>=检查左操作数的值是否大于或等于右操作数的值,如果是,则条件成立。如a=3,b=3,则(a >= b)为True
<=检查左操作数的值是否小于或等于右操作数的值,如果是,则条件成立。如a=3,b=3,则(a <= b)为True

逻辑运算符

and(逻辑与):左右两边的条件都成立,那么if语句才会执行。
or(逻辑或):表示左右两边有一个条件成立,那么if语句就会执行。
not(逻辑非):对结果进行取反,True取反是False,False取反就是True。

运算符逻辑表达式描述实例
andx and y布尔"与":如果 x 为 False,x and y 返回 False,否则它返回 y 的值。True and False → False
orx or y布尔"或":如果 x 是 True,它返回 True,否则它返回 y 的值。False or True → True
notnot x布尔"非":如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。not True → Falsenot False → True

注意and优先级高于or,and/or优先级高于not, 例:

x = True
y = False
z = False
if x or y and z:
     print("yes")
else:
     print("no")
----------------------------------Out---------------------------------
yes     

if not x or y and z:
     print("yes")
else:
     print("no")
----------------------------------Out---------------------------------
no
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鬼义虎神

打赏5C币,作者可获得4C币

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值