【Python入门教程】条件语句if详解

文章目录

  • 前言
  • 一、简单的if条件示例
  • 二、条件测试
  • 三、if语句
  • 四、使用if语句处理列表
  • 五、设置if语句的格式
  • 总结

  • 前言

    写代码的时候,我们经常需要检查一系列条件,根据条件的判断结果来决定分支走向。if条件判断在所有的编程语言当中都存在,少数有的或许不叫if,但是分支判断的语法是一定存在的。在Python中也是使用if来控制程序流程,下面就让我们一起开始学习新的内容吧!


    一、简单的if条件示例

    # 使用list函数创建汽车列表,从元组转换
    cars = list(('BMW', 'Audi', 'Toyota', 'Honda'))
    
    for car in cars:
        if car == 'BMW':
            print('I like BMW!')
        else:
            print(car.title() + ', nice car!')
    
    


    打印结果可以看出,当遇到元素为BMW时,走了不同的分支

    二、条件测试

    检查是否相等

    car = "Toyota"
    
    print(car == "Toyota")
    

    先给car赋值,再使用 == 判断car是不是那个值 Toyota,结果是显而易见的:返回 True

    忽略大小写

    car = "Toyota"
    
    print(car == "BMW")
    
    car = 'bmw'
    
    print(car == 'BMW')
    
    car = "Audi"
    
    print(car.lower() == 'audi')
    

    检查是否不等

    car = "Toyota"
    
    if car != 'bmw':
        print("Hello World")
    

    在Python中检查两个值是否不相等 使用 != ,大部分开发中都是判断两个值是否相等,但有时检查两个值是否不等效率更高

    数值比较

    num = 10
    
    print(num == '10')
    
    print(num == 10)
    
    print(num > 10)
    
    print(num > 8)
    
    print(num < 9)
    
    
    

    这块内容比较简单,没有什么需要过多解释的。

    检查多个条件

    num = 10
    
    value = 7
    
    print(7 <= num <= 10 and value > 6)
    
    

    再比如 or 条件

    num = 10
    
    value = 7
    
    print(num > 10 or value > 6)
    
    

    or条件可连接多个,只要有一个返回True,则整个条件表达式为True,并且是短路算法,即第一个值为True,后面的就不需要再去判断。

    num = 10
    
    value = 7
    
    print(num > 10 or value > 6)
    
    

    检查多特定值是否在列表中

    使用关键字 in

    cars = ["Ford", "BMW", "Fiat"]
    
    print("Ford" in cars)
    
    print("Toyota" in cars)
    
    

    检查多特定值是否不包含在列表中

    用关键字 not in

    cars = ['bmw', 'audi', 'toyota', 'subaru']
    
    if "benz" not in cars:
        print("benz is not in the list")
    else:
        print("benz is in the list")
    
    
    if "bmw" not in cars:
        print("bmw is not in the list")
    else:
        print("bmw is in the list")
    

    打印结果如下

    布尔表达式

    success = True
    
    print(success)
    
    success = False
    
    print(success)
    

    这里 True 和 False 是 Python 中的两个特殊关键字,它们分别代表布尔类型的两个值。在 Python 中,布尔类型是一种特殊的整型,True 实际上等于整数 1,而 False 等于整数 0。不过,在大多数情况下,你不需要关心这个底层实现细节,直接使用 True 和 False 即可。


    三、if语句

    Python中的if语句就是基于某个条件来执行不同的代码块。基本格式如下

    简单if语句

    if conditional_test:
        do something
    

    比如根据年龄判断这个人有没有成年

    age = 20
    
    if age>=18:
        print('你已经成年啦,可以搞对象啦!')
    
    age = 16
    
    if age<18:
        print('你还不是成年人,要守身如玉!')
    

    if-else语句

    age = 19
    
    if age >= 18:
        print("你成年了,可以找女朋友了!")
    else:
        print("未成年人禁止谈恋爱!")
    

    显然代码会走第一个分支,如果age为16,则会走else分支

    if-elif-else结构

    上面的例子是二选一,如果我们有多个逻辑分支,可以使用if-elif-else结构

    age = 45
    
    if age < 13:
        print("儿童")
    elif age < 18:
        print("青少年")
    elif age < 30:
        print("年轻成人")
    elif age < 60:
        print("成年")
    else:
        print("老年人")
    
    

    if-elif-else 结构,可以看到elif是可以有多个存在的。

    省略else代码块

    对上面的代码稍作修改,省略else,使用elif代替,达到相同的判断效果

    age = 61
    
    if age < 13:
        print("儿童")
    elif age < 18:
        print("青少年")
    elif age < 30:
        print("年轻成人")
    elif age < 60:
        print("成年")
    elif age >60:
        print("老年")
    
    

    使用多个条件

    if-elif-else结构功能强大,但仅适合用于只有一个条件满足的情况:遇到通过了的测试后,Python就跳过余下的测试。这种行为很好,效率很高,让你能够测试一个特定的条件。但很多时候我们可能需要检测多个条件,每个条件都需要有相应的处理逻辑。

    username = input("请输入用户名: ")
    password = input("请输入密码: ")
    
    # 假设正确的用户名和密码
    correct_username = "admin"
    correct_password = "123456"
    
    # 检查用户名是否正确
    if username == correct_username:
        print("用户名正确")
    
    # 检查密码是否正确
    if password == correct_password:
        print("密码正确")
    
    # 如果用户名和密码都正确,则允许登录
    if username == correct_username and password == correct_password:
        print("登录成功")
    else:
        print("登录失败,请检查用户名和密码")
    
    

    这个列子是检测用户输入用户名和密码,在控制台实现输入


    四、使用if语句处理列表

    我们使用for循环处理一个列表,根据列表中的元素类型或值,对其进行判断,做出对应的处理,简单代码如下

    检查特殊元素

    list_1 = ['SWS', 'SSN', '慢蜗牛', '小蜗牛', '小滴水']
    
    for item in list_1:
        if item == '小蜗牛':
            print(item + '在家好好睡觉呀')
        else:
            print('欢迎光临' + item)
    
    

    确定列表非空

    有时候我们需要对列表是否为空进行检测,比如Python中,for循环一个空列表是不会报错的,但是可能会造成我们逻辑上的错误,我们需要检测给出提示。

    requested_toppings = ['蘑菇', '额外奶酪']  # 用户请求的配料
    
    if requested_toppings:
        for requested_topping in requested_toppings:
            print("正在添加 " + requested_topping + "。")
        print("\n披萨制作完成!")
    else:
        print("您确定要一个普通的披萨吗?")
    
    


    一个添加了两种配料的披萨已制作完成,如果客户没有选择任何配料,有可能是忘记了,我们需要根据用户选择的配料表给出提示

    requested_toppings = []  # 用户请求的配料
    
    if requested_toppings:
        for requested_topping in requested_toppings:
            print("正在添加 " + requested_topping + "。")
        print("\n披萨制作完成!")
    else:
        print("您确定要一个普通的披萨吗?")
    
    

    使用多个列表

    还是以制作奶酪来举例,顾客要求多,万一要的配料没有,我们需要给出提示

    # 可提供的配料列表
    available_toppings = ['蘑菇', '橄榄', '青椒', '意大利辣香肠', '菠萝', '额外奶酪']
    
    # 用户请求的配料列表
    requested_toppings = ['蘑菇', '薯条', '额外奶酪']
    
    for requested_topping in requested_toppings:
        if requested_topping in available_toppings:
            print("正在添加 " + requested_topping + "。")
        else:
            print("抱歉,我们没有 " + requested_topping + "。")
    
    print("\n披萨制作完成!")
    
    

    观察得知,用户要求的薯条配料,我们并没有,所以结果如下


    五、设置if语句的格式

    总结

    在本章中,我们学习了如何编写结果要么为True要么为False的条件测试。学习了如何编写简单的if语句、if-else语句和if-elif-else结构。在程序中,你使用了这些结构来测试特定的条件,以确定这些条件是否满足。我们学习了如何在利用高效的for循环的同时,以不同于其他元素的方式对特定的列表元素进行处理。

    作者:编程巫师

    物联沃分享整理
    物联沃-IOTWORD物联网 » 【Python入门教程】条件语句if详解

    发表回复