Python中分支案例与实战

        分支结构可理解为选择结构,即根据条件选择性的去执行。 

一、单分支

(1)、执行规则

  • 如果if的条件为真,则执行缩进的代码块。
if True:
    print("条件为真,执行代码块")
    print("if中的代码块都执行")
# 结果 :  条件为真,执行代码块
#          if中的代码块都执行
if 5 > 1 and None or -1 :
    print("真")
    print("执行")    
print("if之外的代码块")
# 结果      真
#           执行
#           if之外的代码块

 

  • 如果if的为假,则不执行。
if 10 > 20:
    print("条件为假不执行")
  • 不执行的情况None、False、空字符符串、0。
if "":
    print("不执行的情况None、False、空字符符串、0")
  • pass 代表此处有内容,执行时解释器不报错。
if True:
    pass

(2) 、分支嵌套

if True :
    print(1)
    if 0 :
        print("条件为假,不执行")
        if True :
            print("和上一个条件为假的分支的模块同级别,不执行")
    if 56 or 67 :
        print("2条件为真,可以执行")
        if 56 > 10 :
            print("3条件为真,可以执行")
print("if模块外,执行")
# 结果  1
#       2条件为真,可以执行
#       3条件为真,可以执行
#       if模块外,执行

(3)、实战

         输入第一个数字,如果这个数为奇数,则再次输入两个数字; 如果第二个数字比第三个数字大,则输出第一个数字与第三个数字之差。

num1 = int(input("请输入第一个数:"))
if num1 % 2 :
    num2 = int(input("请输入第二个数:"))
    num3 = int(input("请输入第三个数:"))
    if num2 > num3:
        print(f"{num1}与{num3}的差是{num1-num3}")
# 结果      请输入第一个数:9
#           请输入第二个数:98
#           请输入第三个数:45
#           9与45的差是-36

二、双分支

  • if else 双分支 必须二选一。
  • if为真执行if的语句块,否则执行else的语句块。
  • else 不能能单独开始,必须以if开始。
  • else 的上一个模块要与if连续 中间不要有与if并齐的语句。
if True :
    print("A")          # A
    if 5 > 20 :
        print("B")
    else:
        print("C")      # C
        if 3 :
            print("D")  # D
        else:
            print("E")
# else 前一个模块需要和if连接,中间不可加入其他语句            
else:
    print("F")
    if None :
        print("G")
    else:
        print("H")

三、多分支

(1)、使用规则

  • if elif else 多选一, 可以一个也不选(即没有else)
  • if必填,elif至少有一个,可以没有else
  • 有if就要有条件,即elif后也要有条件和冒号
  • 多选一,选择一个后,以后代码都不再执行
value = 10
if  value == 3:
    print("A")
elif value == 5:
    print("B")
elif value == 10:
    print("C")
elif value == 10:
    print("D")
else:
    print("E")
# 结果: C

 (2)、实战

         输入一个成绩,成绩在[0, 60)为不及格,[60, 75)为及格,[75, 90)为良好,[90, 100]为优秀,其他为不合法。

# 在0~100之间,判断成绩等级;
# 根据多分支语句的特点(执行完一条后,下面不再执行),可优化程序
grade = float(input("请输入成绩:"))
if  0 <= grade <= 100
    if 90 <= grade:
        print("优秀")
    elif 75 <= grade:
        print("良好")
    elif  60 <= grade:
        print("及格")
    else:
        print("不及格")    
else:
    print("输入不合法!")
# 结果:   请输入成绩:120
#          输入不合法!
#          请输入成绩:75
#          良好

  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值