• 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. 总结

    在这里插入图片描述

  • 相关阅读:
    python 中面向对象编程:深入理解封装、继承和多态
    中级程序员——vue3+js+git面试题
    UML图 - 类图(Class Diagram)
    PerfView专题 (第四篇):如何寻找 C# 中程序集泄漏
    redis中常见的问题(缓存穿透,缓存雪崩,缓存击穿,redis淘汰策略)
    单线程的JS中Vue导致的“线程安全”问题
    Java学习笔记(二十二)
    秒杀系统常见问题—库存超卖
    mac下配置环境-node以及nvm
    # Maven错误Error executing Maven
  • 原文地址:https://blog.csdn.net/weixin_63986098/article/details/126564286