• Python小记3


    https://www.cnblogs.com/airlinp/p/12470321.html

    6.3 判断练习1

    判断员工是否为本公司员工;

    # 定义员工号
    userid=int(input("请输入员工号:"))
    # 初始化否为公司员工判断变量
    is_employee=True
    # 判断员工号是否属于本公司
    if userid<=999 and userid>0 :
        is_employee=True
        print("是本公司员工:%s"%(is_employee))
    else :
        is_employee=False
        print("不是本公司员工:%s" % (is_employee))

     由上图可知:

    • 定义了一个int的员工号变量userid,使用用户输入方式记录;
    • 定义了一个是否为本公司员工的判断变量is_employee,并初始化为True;
    • 定义了员工号范围:0-999,范围内为本公司员工,否则非本公司员工;
    • 进入判断的时候,按照判断条件,相应的调整is_employee的结果,并进行输出;
    • 这里使用了变量初始化,以及根据判断调整重新赋值变量;

    7. if语句进阶

    7.1 elif

    在开发中,if可以判断条件,处理满足条件的情况,else处理不满足条件的情况,而elif则是处理满足不同条件的情况;

    格式如下:

    if 条件1:
      条件1满足执行代码
    elif 条件2:
      条件2满足执行代码
    elif 条件3:
      条件3满足执行代码
    else:
      条件都不满足执行代码

     例子:判断输入的日期是什么节日

    # 输入一个日期
    insert_date = input("请输入一个日期(M-D):")
    # 判断是否为元旦
    if insert_date == "1-1":
        print("这一天是元旦。")
    # 判断是否为劳动节
    elif insert_date == "5-1":
        print("这一天是五一劳动节。")
    # 判断是否为儿童节
    elif insert_date == "6-1":
        print("这一天是六一儿童节。")
    # 哦按段是否为国庆节
    elif insert_date == "10-1":
        print("这一天是国庆节。")
    else:
        print("暂时不明确这一天是什么节日。")

    由上图可知:

    根据用户输入的不同的日期,会逐步根据条件进行判断,并执行满足条件的部分的代码;

    全部不满足则执行else部分的代码;

    7.2 if嵌套

    elif同时判断多个条件,所有的条件是平级的,没有优先级的关系,如果一定有优先级,那么就只有代码由上至下执行这种解释器执行原理的优先级;

    if嵌套也是同时判断多个条件,但是代码执行有优先级,先判断某条件成立,再进行下一个条件的判断;

    if嵌套的流程简图:

    由上图可知:

    • 上级判断条件的结果成立与否,控制着后续判断条件的执行;
    • 这种流程逻辑,类似循序渐进模式,当初步条件完成判断后,才能进行下一步条件的判断;

    代码格式:

    if 条件1:
        条件1成立执行代码
        if 条件1成立后条件2:
            条件2成立执行代码
        else:
            条件2不成立执行代码
    else:
        条件1不成立执行代码

    由上述代码格式可知:

    • 当条件1成立的时候,会进入条件2的判断;
    • 程序是否执行条件2,取决条件1的成立与否,条件1成为了条件2执行的依据,条件1的优先级高于条件2;
    • 当条件1不成立的时候,直接else执行代码;
    • 根据5.4章节if代码缩进的描述,当if条件2与上一个if条件1成立执行代码缩进齐头的时候,那么if条件1和if条件2形成if嵌套,if条件1的成立与否决定了if条件的判断是否执行;

    例子:

    
    
    # 高中生入学分班
    # 定义学生入学年龄
    age=int(input("请输入学生年龄:"))
    # 判断年龄是否满足入学
    if age >= 15 and age <=18:
    print("该学生年龄符合高中生年龄")
    # 满足年龄,开始输入文理科分数,进行下一阶段的条件判断
    wk_score = int(input("请输入文科综合分:"))
    lk_score = int(input("请输入理科综合分:"))
    if wk_score > lk_score:
    print("该学生适合选文科。")
    elif wk_score < lk_score:
    print("该学生适合理科。")
    else:
    print("该学生文理科都适合,请再行思考后选科。")
    # 不满足学生年龄
    else:
    print("该学生年龄不符合高中生年龄。")
     

    情况1:年龄不满足≥15 并且≤18的情况

     由上图可知:

    • 当年龄输入11,不满足≥15并且≤18的时候,直接执行最后的else部分;

    情况2:年龄满足≥15 并且≤18的情况

     由上图可知:

    • 当输入年龄16,符合≥15并且≤18,进行下一步输入文理科成绩部分的代码的执行;

    情况3:分别输入文理科成绩,进入文理科分数的判断,三种情况:文科分>理科分、文科分<理科分、文科分=理科分,分别进行相应的文本输出

     由上图可知:

    • 当文科分输入98,理科分输入93,程序下一步判断满足“文科分>理科分”条件判断,进行了相应的文本输出;

    由以上可见,if嵌套是非常实用和重要的,是if判断基本语法的加深进阶,更能符合和满足实际应用场景,需要灵活掌握及运用。

  • 相关阅读:
    Java:XML篇,使用SAX写入XML数据
    Solr4:Solr查询结果JSP分页显示(每次查询只返回指定记录数)
    Java:JDBC篇,Connection连接至几种常用数据库(Oracle,MySQL,Access,SQL Server)
    单点登陆原理
    sqlldr自定义函数调用
    osworkflow使用jdbc如何不用配置数据源。
    IHttpHandler使用session
    java代码生成器的的实现
    db2 通用分页存储过程
    复写page的Render方法
  • 原文地址:https://www.cnblogs.com/airlinp/p/12509533.html
Copyright © 2020-2023  润新知