第19章 Python3 条件控制教程

Python 条件语句是通过一条或多条语句的执行结果(True 或者 False)来决定执行的代码块。


if 语句

Python中if语句的一般形式请在输出结果查看


    if condition_1:
        statement_block_1
    elif condition_2:
        statement_block_2
    else:
        statement_block_3

  • 如果 “condition_1” 为 True 将执行 “statement_block_1” 块语句
  • 如果 “condition_1” 为False,将判断 “condition_2”
  • 如果"condition_2" 为 True 将执行 “statement_block_2” 块语句
  • 如果 “condition_2” 为False,将执行"statement_block_3"块语句

Python 中用 elif 代替了 else if,所以if语句的关键字为:if – elif – else

注意:

  • 1、每个条件后面要使用冒号 :,表示接下来是满足条件后要执行的语句块。
  • 2、使用缩进来划分语句块,相同缩进数的语句在一起组成一个语句块。
  • 3、在 Python 中没有 switch…case 语句,但在 Python3.10 版本添加了 match…case,功能也类似,详见下文。

Gif 演示:

实例

以下是一个简单的 if 实例:


    实例
     
    #!/usr/bin/python3
     
    var1 = 100
    if var1:
        print ("1 - if 表达式条件为 true")
        print (var1)
     
    var2 = 0
    if var2:
        print ("2 - if 表达式条件为 true")
        print (var2)
    print ("Good bye!")

执行以上代码,输出结果请在输出结果查看


    1 - if 表达式条件为 true
    100
    Good bye!

从结果可以看到由于变量 var2 为 0,所以对应的 if 内的语句没有执行。

以下实例演示了狗的年龄计算判断:


    实例
     
    #!/usr/bin/python3
     
    age = int(input("请输入帅哥您家狗狗的年龄: "))
    print("")
    if age <= 0:
        print("帅哥您是在逗我吧!")
    elif age == 1:
        print("相当于 14 岁的人。")
    elif age == 2:
        print("相当于 22 岁的人。")
    elif age > 2:
        human = 22 + (age -2)*5
        print("对应人类年龄: ", human)
     
    ### 退出提示
    input("点击 enter 键退出")

将以上脚本保存在dog.py文件中,并执行该脚本:


    $ python3 dog.py 
    请输入帅哥您家狗狗的年龄: 1
    
    相当于 14 岁的人。
    点击 enter 键退出

以下为if中常用的操作运算符:

操作符描述
<小于
<=小于或等于
>大于
>=大于或等于
==等于,比较两个值是否相等
!=不等于

    实例
     
    #!/usr/bin/python3
     
    # 程序演示了 == 操作符
    # 使用数字
    print(5 == 6)
    # 使用变量
    x = 5
    y = 8
    print(x == y)

以上实例输出结果请在输出结果查看


    False
    False

high_low.py文件演示了数字的比较运算:


    实例
    #!/usr/bin/python3 
     
    # 该实例演示了数字猜谜游戏
    number = 7
    guess = -1
    print("数字猜谜游戏!")
    while guess != number:
        guess = int(input("请输入帅哥您猜的数字:"))
     
        if guess == number:
            print("恭喜,帅哥您猜对了!")
        elif guess < number:
            print("猜的数字小了...")
        elif guess > number:
            print("猜的数字大了...")

执行以上脚本,实例输出结果请在输出结果查看


    $ python3 high_low.py 
    数字猜谜游戏!
    请输入帅哥您猜的数字:1
    猜的数字小了...
    请输入帅哥您猜的数字:9
    猜的数字大了...
    请输入帅哥您猜的数字:7
    恭喜,帅哥您猜对了!


if 嵌套

在嵌套 if 语句中,可以把 if…elif…else 结构放在另外一个 if…elif…else 结构中。


    if 表达式1:
        语句
        if 表达式2:
            语句
        elif 表达式3:
            语句
        else:
            语句
    elif 表达式4:
        语句
    else:
        语句


    实例
    # !/usr/bin/python3
     
    num=int(input("输入一个数字:"))
    if num%2==0:
        if num%3==0:
            print ("帅哥您输入的数字可以整除 2 和 3")
        else:
            print ("帅哥您输入的数字可以整除 2,但不能整除 3")
    else:
        if num%3==0:
            print ("帅哥您输入的数字可以整除 3,但不能整除 2")
        else:
            print  ("帅哥您输入的数字不能整除 2 和 3")

将以上程序保存到 test_if.py 文件中,执行后输出结果请在输出结果查看


    $ python3 test.py 
    输入一个数字:6
    帅哥您输入的数字可以整除 23


match…case

Python 3.10 增加了 match…case 的条件判断,不需要再使用一连串的 if-else 来判断了。

match 后的对象会依次与 case 后的内容进行匹配,如果匹配成功,则执行匹配到的表达式,否则直接跳过,_ 可以匹配一切。

语法格式如下:


    match subject:
        case <pattern_1>:
            <action_1>
        case <pattern_2>:
            <action_2>
        case <pattern_3>:
            <action_3>
        case _:
            <action_wildcard>

case _: 类似于 C 和 Java 中的 default:,当其他 case 都无法匹配时,匹配这条,保证永远会匹配成功。


    实例 
    mystatus=400
    
    print(http_error(400))
    
    def http_error(status):
    
        match status:
    
            case 400:
    
                return "Bad request"
    
            case 404:
    
                return "Not found"
    
            case 418:
    
                return "I'm a teapot"
    
            case _:
    
                return "Something's wrong with the internet"

以上是一个输出 HTTP 状态码的实例,输出结果请在输出结果查看


    Bad request

一个 case 也可以设置多个匹配条件,条件使用 | 隔开,例如:


    ...
        case 401|403|404:
            return "Not allowed"

本专栏所有文章

第1章 Python3 教程第2章 Python3 简介教程
第3章 Python3 环境搭建教程第4章 Python3 VScode教程
第5章 Python3 基础语法教程第6章 Python3 基本数据类型教程
第7章 Python3 数据类型转换教程第8章 Python3 推导式教程
第9章 Python3 解释器教程第10章 Python3 注释教程
第11章 Python3 运算符教程第12章 Python3 数字(Number)教程
第13章 Python3 字符串教程第14章 Python3 列表教程
第15章 Python3 元组教程第16章 Python3 字典教程
第17章 Python3 集合教程第18章 Python3 编程第一步教程
第19章 Python3 条件控制教程第20章 Python3 循环语句教程
第21章 Python3 迭代器与生成器教程第22章 Python3 函数教程
第23章 Python3 数据结构教程第24章 Python3 模块教程
第25章 Python3 输入和输出教程第26章 Python3 File教程
第27章 Python3 OS教程第28章 Python3 错误和异常教程
第29章 Python3 面向对象教程第30章 Python3 命名空间/作用域教程
第31章 Python3 标准库概览教程第32章 Python3 实例教程
第33章 Python 测验教程第34章 Python3 正则表达式教程
第35章 Python3 CGI编程教程第36章 Python3 MySQL(mysql-connector)教程
第37章 Python3 MySQL(PyMySQL)教程第38章 Python3 网络编程教程
第39章 Python3 SMTP发送邮件教程第40章 Python3 多线程教程
第41章 Python3 XML 解析教程第42章 Python3 JSON教程
第43章 Python3 日期和时间教程第44章 Python3 内置函数教程
第45章 Python3 MongoDB教程第46章 Python3 urllib教程
第47章 Python uWSGI 安装配置教程第48章 Python3 pip教程
第49章 Python3 operator教程第50章 Python math教程
第51章 Python requests教程第52章 Python random教程
第53章 Python3 os.replace() 方法教程

寄语

本文有 phlcsdn2023 原创,欢迎点赞、转载,博客地址:https://blog.csdn.net/phlcsdn2023

  • 我只是不知道如何面对,当现实残酷的摆在我面前,又像个孩子一般不知所措地活着。
  • 麻烦能让你学会很多东西,也是锻炼你自己的机会,因此不要害怕麻烦。
  • 夫学须志也,才须学也,非学无以广才,非志无以成学。
  • 高中学习必须要持续地投入。别在高一时成天在青春期的幻想中参加一些聚会游玩中度过,到高二就迷茫,高三就后悔,唉高三才想起努力,奋斗起来太难了。
  • 燃爆了。永不言败的中国力量:中国军人。祖国岁月安好的背后,是你们拼命在前阻挡黑暗。举国同庆,致敬中国军人。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

你得不到的念想

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值