• 22. if...elif...else 多向判断


    22. if…elif…else 多向判断

    1. if…else…语句复习

    在这里插入图片描述

    在上一节中,我们学习了if...else...语句。

    如果条件成立就执行if语句后面的代码块。

    如果条件不成立就执行else语句后面的代码块。

    if...else...语句是二选一,要么这样,要么那样。

    但其实是生活中,n选一的情况更为多见。

    【举例说明】

    猜体重问题可能输出的3种情况:
    1.猜多了;
    2.猜少了;
    3.猜对了。

    我们的BMI值存在多种标准:

    在这里插入图片描述

    像这样n选一的条件判断语句,怎么写呢?

    2. 体验代码

    age = int(input("猜猜我今年多少岁:"))
    
    # 如果if语句条件成立,输出【你猜大了】!
    if age > 18 :
        print("你猜大了!")
    
    # 如果elif语句条件成立,输出【你猜小了!】
    elif age < 18 :
        print("你猜小了!")
    
    # 如果if,elif语句都不成立,输出【你猜对了!】
    else:
        print("你猜对了!")
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    【终端输出】

    你猜对了!
    
    • 1

    像这样n选一的条件判断语句,我们通常用if...elif...else...语句来实现。

    elif是else if的缩写。

    【代码解析】

    第1,2行代码:如果输入的数字大于18,输出你猜大了。
    第3,4行代码:如果输入的数字小于18,输出你猜小了。
    第5,6行代码:否则输出你猜对了(一个整数不大于18,也不小于18,那它就是18)。

    if后的语句是当if判断条件成立时,执行的操作。

    elif后的语句是当if判断不成立时,再判断一次,如果成立,执行的操作。

    else后的语句是当以上所有判断条件都不成立时,执行的操作。

    在这里插入图片描述

    3. 代码执行的顺序

    age = 20
    if age > 18 :
        print("你猜大了!")
    elif age < 18 :
        print("你猜小了!")
    else:
        print("你猜对了!")
    print("程序结束!")
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    【终端输出】

    你猜大了!
    
    • 1

    在这里插入图片描述

    age=20,程序执行第1,2,3,8行代码。

    age=15,程序执行第1,2,4,5,8行代码。

    age=18,程序执行第1,2,4,6,7,8行代码。

    当条件满足时,程序就不会执行剩余的判断语句,程序自动跳出。

    elif 语法和if语法是一致的,重点关注英文冒号和缩进即可。

    在这里插入图片描述

    4. 课堂练习

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YjQ02J0c-1661616214924)(./img/2.bmi.jpg)]

    【题目要求】

    1. 从终端输入一个bmi值(养成习惯,每次输入数据时要考虑需要的数据类型)。
    2. 对照上面的图片进行判断,并输出对应的标准。
    3. 图片中没有小于18.5的指标,代码中增加了一个判断,当bmi小于18.5时,输出【太瘦了!】

    【参考答案】

    bmi = float(input("请输入你的bmi值:"))
    if 18.5 <= bmi < 25 :
        print("正常!")
    elif 25 <= bmi < 30 :
        print("超重!")
    elif 30 <= bmi < 35 :
        print("1度肥胖!")
    elif 35 <= bmi < 40 :
        print("2度肥胖!")
    elif bmi >= 40 :
        print("3度肥胖!")
    else:
        print("太瘦了!")
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    【终端输出】
    3度肥胖!

    5. 总结

    在这里插入图片描述

  • 相关阅读:
    贪心算法—Problem F
    内存取证系列3
    Spring框架技术的核心与设计思想
    数据探索与分析的瑞士军刀:深入Python的pandas库
    Java 虚拟机:Java 内存区域及对象,java 反射面试
    时序预测 | MATLAB实现ICEEMDAN-IMPA-GRU时间序列预测
    如何建立你的财务体系?
    解决:Error: Missing binding xxxxx\node_modules\node-sass\vendor\win32-x64-83\
    [Python]Django 数据库数据的增删改查
    P2P分布式搜索引擎YaCy
  • 原文地址:https://blog.csdn.net/weixin_63986098/article/details/126564286