• 2.9 Python if 判断语句


    image-20221121235616970

    1. 分支结构

    分支结构开始部分通常是判断条件, 接下来是一个代码块(子句).
    通过判断条件结果是 True 还是 False 控制程序执行方向.
    
    • 1
    • 2

    image-20221121191024893

    1.1 条件
    条件: 通过是一个表达式.
    表达式: 由数字, 运算符 变量, 等能求得数值且有意义排列方法组合.
    所有的表达式的结果都可以转为布尔值, 用于判断.
    
    布尔值的结果可以分为两大类:
    * 1. 显式布尔值 
    	(0, 0.0, None, False, 所有为空的数据... )
    	
    * 2. 隐式布尔值 
    	 所有的值都可以当成条件去用, 除了上面列举的值为False, 其它的值都为True.
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    1.2 代码块
    代码块可以看成是 Python 代码的一个执行单元, 可以根据代码行的缩进判断代码块的开始和结束.
    使用缩进来划分语句块, 相同缩进数的语句组成一个代码块.
    	
    代码块的三条规则:
    * 1. 缩进增加时, 代码块开始. Python 的缩进使用4格空格.
    * 2. 缩进减少为零或与外面包围的代码块对齐, 代码块就结束了.
    * 3. 代码块可以包含其他代码块.
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    2. if 条件判断语句

    if 条件判断语句: 对条件进行判断.
       为真: 执行代码块内的语句.
       为假: 跳过代码块内的语句, 往下运行.
        
    结构: 
    * 1. if 关键字.
    * 2. 条件+冒号, 所有的控制语句都以冒号':'结尾, 后面紧跟着一个代码块.
    * 3. 代码块, 代码块为if的子句.
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    2.1 条件为True
    if 1 > 0:
        print(1)  # 1
    
    print(2)  # 2
    
    
    • 1
    • 2
    • 3
    • 4
    • 5

    2022-11-21_01606

    2.2 条件为False
    if 1 < 0:
        print(1)
    
    print(2)  # 2
    
    
    • 1
    • 2
    • 3
    • 4
    • 5

    2022-11-11_01438

    2022-11-11_01439

    3. 语句组

    可以if条件判断语句的同一行的位置上写一段简单的语句, 不过这不符合 PEP8 规范.
     PEP 8: E701 multiple statements on one line (colon)
     PEP 8: E701一行多个语句(冒号)
    * 不推荐在一行中写两个语句.
    
    • 1
    • 2
    • 3
    • 4
    if 1 > 0: print(1)  # 1
    
    
    • 1
    • 2

    4. else 语句

    else 语句不包含条件, 跟随 if 语句使用,  if 语句判断的条件为 False , 执行 else 语句的代码块.
    
    组合格式:
    if 条件: 
    	条件成立执行的子代码块.
    else:
    	条件不成立执行的子代码块.
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    # 获取用户输入字符串
    pwd = input('请输入密码>>>: ')
    
    # 判断用户输入
    if pwd == '123':
        print('登录成功!')
    else:
        print('密码错误!')
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    第一次运行--> 运行工具窗口提示:
    请输入密码>>>: (123)
    登录成功!
    
    • 1
    • 2
    • 3
    第二次运行--> 运行工具窗口提示:
    请输入密码>>>: (456)
    密码错误!
    
    • 1
    • 2
    • 3

    image-20221111222759905

    5. elif 语句

    elif 语句在  if 语句后面出现, 仅在前面的条件为 False 时才会检查 elif 的条件, 
    当条件为 True , 执行 elif 的代码块.
    
    组合格式:
    if 条件1: 
    	条件1成立之后执行的代码块.
    elif 条件2:
    	条件1不成立, 条件2成立之后执行的子代码块.
    elif 条件3: 
    	条件1, 2不成立, 条件3成立之后执行的子代码块.
    else:
    	所有条件都不成立, 执行的代码块.
    * 顺序判断每一个分支, 首先被命中并执行, 后面的所有分支被忽略, 直接跳过.
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    * 1. 写一个程序输入一下分数, 对成绩进行评级.
         90 分及以上 打印 '优秀'
         80 分及以上 打印 '良好'
         60 分及以上 打印 '及格'
         59 分以下 打印 '不及格'
    
    • 1
    • 2
    • 3
    • 4
    • 5
    # 1. 获取分数
    branch = input('输入你的分数: ')
    
    # 2. 判断分数属于哪个级别
    # 2.1 分数大于或等于90分 打印 '优秀'
    if branch >= '90':
        print('优秀')
    # 2.2 分数大于或等于80分 打印 '良好'
    elif branch >= '80':
        print('良好')
    # 2.3 分数大于或等于60分 打印 '及格'
    elif branch >= '60':
        print('及格')
    # 2.4 分数小于60分 打印 '不及格'
    else:
        print('不及格')
        
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    运行工具窗口提示:
    输入你的分数>>>: (60)
    及格
    
    • 1
    • 2
    • 3

    2022-11-11_01450

    6. if 嵌套

    代码块中可以包含其它代码块.
    
    • 1
    设计一个程序, 模拟登入, 先获取用户名, 然后校验用户名, 用户名不正确打印'用户名不存在'.
    用户名正确, 打印'用户名正确', 继续让用户输入密码, 然后校验密码, 密码不正确打印'密码不正确',
    密码正确, 打印'登录成功'.
    
    • 1
    • 2
    • 3
    # 1.获取用户名
    username = input('请输入登入用户>>>: ')
    
    # 2. 校验用户名
    # 2.1 用户名正确
    if username == 'kid':
        # 2.2.1 打印'用户名正确'
        print('用户名正确!')
    
        # 2.2.2 获取密码
        password = input('请输入用户密码>>>: ')
        # 2.2.3 校验密码成功
        if password == '123':
            # 2.2.3.1 打印'登录成功'
            print('登录成功!')
        # 2.2.4 校验密码不成功
        else:
            # 2.2.3.2 打印'密码不正确'
            print('密码不正确!')
            
    # 2.2 用户名不正确
    else:
        # 2.2.2 打印'用户名不存在!
        print('用户名不存在!')
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    运行工具窗口提示:
    请输入登入用户>>>: (kid)
    用户名正确!
    请输入用户密码>>>: (123)
    登入成功!
    
    • 1
    • 2
    • 3
    • 4
    • 5

    2022-11-21_01605

    2022-11-11_01449

    7. 练习

    * 学习编程初期, 可以先写伪代码, 在将伪代码, 最后 使用 Python 的语法实现.
    
    • 1
    7.1 猜数字游戏1
    1. 定义一个数字
    2. 提示用户输入数字
    3. 判断输入的数字是否是自己定义的数字
       3.1 猜对了 打印'猜对了'.
       3.2 猜错了 打印'猜错了'.
       
    int() 函数将纯数字字符串转为整型. : int('1') --> 得到 1.
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    # 1. 定义一个变量存储需要猜的数字
    num = 26
    
    # 2. 获取用户输入的信息 (字符串)
    guess_num = input('请输入你猜的数字: ')
    
    # 3. 判断用户输入的数字是否正确
    # 3.1 判断真确打印'猜对了!'
    if int(guess_num) == num:
        print('猜对了!')
    # 3.2 判断错误打印'猜错了!'
    else:
        print('猜错了!')
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    运行工具窗口提示:
    请输入你猜的数字: (26)
    猜对了!
    
    • 1
    • 2
    • 3
    7.2 猜数字游戏2
    1. 定义一个数字
    2. 提示用户输入数字
    3. 判断输入的数字是否是自己定义的数字
       3.1 猜对了 打印'猜对了'.
       3.2 猜的数字比实际值大, 打印'猜大了'.
       3.3 猜的数字比实际值小, 打印'猜小了'.
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    # 1. 定义一个变量存储需要猜的数字
    num = 26
    
    # 2. 获取用户输入的信息 (字符串)
    guess_num = input('请输入你猜的数字: ')
    
    # 3. 判断用户输入的数字是否正确
    # 3.1 猜大了打印'猜大了!'
    if int(guess_num) > num:
        print('猜大了!')
    # 3.2 猜小了打印'猜小了!'
    elif int(guess_num) < num:
        print('猜小了!')
    # 3.3 猜对了打印'猜对了!'
    else:
        print('猜对了!')
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    运行工具窗口提示:
    请输入你猜的数字: (26)
    猜对了!
    
    • 1
    • 2
    • 3

    文章的段落全是代码块包裹的, 留言0是为了避免文章提示质量低.
    文章的段落全是代码块包裹的, 留言1是为了避免文章提示质量低.
    文章的段落全是代码块包裹的, 留言2是为了避免文章提示质量低.
    文章的段落全是代码块包裹的, 留言3是为了避免文章提示质量低.
    文章的段落全是代码块包裹的, 留言4是为了避免文章提示质量低.
    文章的段落全是代码块包裹的, 留言5是为了避免文章提示质量低.
    文章的段落全是代码块包裹的, 留言6是为了避免文章提示质量低.
    文章的段落全是代码块包裹的, 留言7是为了避免文章提示质量低.
    文章的段落全是代码块包裹的, 留言8是为了避免文章提示质量低.
    文章的段落全是代码块包裹的, 留言9是为了避免文章提示质量低.


  • 相关阅读:
    项目踩坑之面试遇到的问题及解决
    【1470. 重新排列数组】
    计算机网络笔记1 概述
    拼多多客服回复话术技巧
    string类
    Git 简介及使用
    gitlab数据备份和恢复
    【Python黑科技】使用cv2库把图片转为素描草图(注释详细)
    PC端小程序引擎,或许不就未来能解决桌面应用兼容性
    VF11&MR8M 冲销原因 小结
  • 原文地址:https://blog.csdn.net/qq_46137324/article/details/127644596