python if条件判断的基础及使用方式

 更新时间:2026年05月07日 11:39:32   作者:一只勤劳的耗子  
文章介绍了Python中if语句的基本语法和用法,if语句用于根据给定条件执行不同代码块,文章详细介绍了基础语法、多分支判断、三目运算等,并通过具体案例(商品折扣计算、年龄分类、密码验证等)展示了if语句的实际应用

当前版本:

  • Python 3.8.4

简介

if 语句是一种用于根据一个或多个条件的结果来执行不同代码块的控制流结构,它会检查给定的条件是否为真。如果条件为真,则执行与之关联的代码块;如果条件为假,则执行与之关联的其他代码块或者继续执行程序的下一段代码。

1. if 的作用

if 条件的作用是在程序中根据给定的条件来决定是否执行特定的代码块,条件可以是True或False。

当条件为True时,True相关的代码块将被执行;当条件为False时,False相关代码被执行。

例如:用户登录则可以使用 if 判断实现:

# 定义正确的密码
user_pwd = "123456"

# 判断密码是否正确
if input("请输入root密码:") == user_pwd:
    print("密码正确!")
else:
    print("密码错误!")

2. if 的语法

2.1. 基础语法

if 的基本格式为:

if 条件:    # 判断这个条件
    xxx    # 执行条件为真的代码
else:
    yyy    # 执行条件为假的代码
  • if:中文翻译为 "如果"。理解为:如果条件为真,那么执行xxx
  • else:中文翻译为 "否则"。理解为:不满足 if 条件则执行yyy
  • 条件:可以是比较符判断、逻辑符判断、成员符判断等,例如 a>b

注意:条件判断下面的代码块必须有缩进,否则语法错误。

举例说明(判断1=1)

if 1 == 1:
    print("条件为真,执行这里...")
else:
    print("条件为假,执行这里...")

  • 1肯定等于1,所以条件为真。执行为真的代码块。

如果判断1=2,则是条件为假

if 1 == 2:
    print("条件为真,执行这里...")
else:
    print("条件为假,执行这里...")

当然,也可以不带入为假的代码

if 1 == 1:
    print("条件为真,执行这里...")

2.2. 多分支判断

当需要判断的对象可能存在多个值,并且需要根据不同的情况执行不同的代码,那么可以利用多分支来处理。

语法如下:

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

举个例子,通过成绩来判断这个同学表现

# 循环判断成绩
while True:
    score = int(input("请输入您的成绩: "))
    if score == -1:    # 如果输入-1则退出程序
        print("退出!")
        break
    elif score < 60:   # 如果成绩小于60则执行这里
        print("成绩不合格")
    elif score < 70:   # 如果成绩小于70则执行这里
        print("成绩还算一般")
    elif score < 85:   # 如果成绩小于85则执行这里
        print("成绩还不错")
    elif score < 100:  # 如果成绩小于100则执行这里
        print("这位同学很优秀")

elif 中文翻译为 "否则如果",也就是第1次通过 if 判断,当if 判断为假时才会判断下面的elif,如果 if 判断为真则不会运行下面的elif。

举例说明:

# 定义一个变量
a = 10

# 判断这个变量
if a < 20:
    print("a < 20")
elif a < 30:
    print("a < 30")
elif a < 40:
    print("a < 40")

可以看到3个条件都符合,但如果前面的判断成功,则不会继续判断后面的代码

我们将 a 改为25也是同理,满足第1个 elif 后,第2个 elif 则不会再去判断

2.3. 三目运算

三目运算符是一种简洁的条件表达式,也叫做条件表达式运算符。

语法如下:

[为真代码] if [条件表达式] else [为假代码]

if 的标准写法是这样的:

if 1 == 1:
    print("yes")
else:
    print("no")

使用三目运算可以把它们写为单行:

print("yes") if 1 == 1 else print("no")

比如使用三目运算给变量(性别)随机赋值男或女

import random
sex = "男" if random.randint(0,1) == 0 else "女"

3. 判断条件

我们可以通过比较符判断、逻辑符判断和成员符判断,将这些条件根据需要进行组合,并且可以嵌套在 if 语句中,用于实现复杂的逻辑判断。

3.1.比较符判断

比较符包括:

> :大于
< :小于
==:等于
!=:不等于
>=:大于等于
<=:小于等于

【案例一】判断数字大于等于10

# 定义一个变量
n = 20

# 判断这个变量
if n >= 10:
    print("变量n大于等于10")

【案例二】判断字符串为abc

# 定义一个变量
s = "AAA"

# 判断这个变量
if s == "abc":
    print("变量s的值为abc")
else:
    print("变量s的值不是abc")

3.2. 逻辑符判断

逻辑符(与、或、非)

and(与):必须满足全部条件
or (或):满足其他一个条件即可
not(非):取反(真->假;假->真)

【案例一】必须满足全部条件

# 判断多个条件
if (1>0) and (2<3) and (2==3):
    print("全部条件都满足")
else:
    print("其中有一个或多个不满足条件")
  • 括号是为了便于阅读,并不是必须的

【案例二】满足任意一个条件即可

# 判断多个条件
if (1>0) or (2<3) or (2==3):
    print("满足其中一个或多个条件")
else:
    print("一个条件都不满足")

【案例三】取反

if not 1 == 2:
    print("执行xxx")

  • 1本身不等于2,取反后相当于判断这里为 False

3.3. 成员符判断

一般通过成员符来判断一个元素是否属于一个集合(列表、元组、字符串等)。

in:属于
not in:不属于

【案例一】判断元素属于列表

if "A" in ["A", "B"]:
    print("A在列表中")
else:
    print("A不在列表中")

【案例二】判断元素不属于列表

if "C" not in ["A", "B"]:
    print("C不在列表中")
else:
    print("C在列表中")

4. 实际应用

4.1. 商品折扣计算

需求:某商店消费满200打95折,消费满500打9折,消费满1000打8折,消费满2000打7折。

# 循环判断这个金额并计算
while True:
    num = int(input("请输入客户消费金额(-1退出):"))
    if num == -1:
        print("退出!")
        break
    elif num < 200:
        print("客户消费{}元,无折扣应支付{}元\n".format(num, num))
    elif num < 500:
        print("客户消费{}元,95折后应支付{}元\n".format(num, num * 0.95))
    elif num < 1000:
        print("客户消费{}元,9折后应支付{}元\n".format(num, num * 0.9))
    elif num < 2000:
        print("客户消费{}元,8折后应支付{}元\n".format(num, num * 0.8))
    elif num >= 2000:
        print("客户消费{}元,7折后应支付{}元\n".format(num, num * 0.7))

4.2. 年龄分类

需求:12岁以下为儿童,12~17岁为青少年,18~24为青年,24岁以上为成年人。

# 循环判断
while True:
    age = int(input("请输入年龄:"))
    if age == -1:
        print("退出交互系统!")
        break
    elif age < 12:
        print("儿童")
    elif age < 18:
        print("青少年")
    elif age < 25:
        print("青年")
    else:
        print("成年人")

4.3. 密码验证

需求:用户登录系统需要输入root密码,输入3次错误则锁定用户。

password = "123456"     # 定义密码
attempts = 0            # 当前登录次数
locked = False          # 锁定账户

while attempts < 3:
    user_input = input("请输入root密码:")

    if user_input == password:
        print("登录成功!")
        break
    else:
        attempts += 1
        print("密码错误!还剩余{}次尝试。".format(3 - attempts))

        if attempts == 3:
            # 失败3次后加锁
            locked = True

# 判断是否被加锁
if locked:
    print("密码已锁定,无法登录。")

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Python并发编程线程消息通信机制详解

    Python并发编程线程消息通信机制详解

    这篇文章主要为大家介绍了Python并发编程之线程消息通信机制的示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2021-10-10
  • 深入理解Python中的range()函数用法、原理与实战指南

    深入理解Python中的range()函数用法、原理与实战指南

    range()函数是Python中生成数字序列的基础工具,支持多种调用方式和参数组合,适用于循环控制、数据处理、性能优化和高级应用,掌握其用法和特性,可以提高代码的效率和可读性,本文给大家介绍Python中的range()函数用法、原理与实战指南,感兴趣的朋友跟随小编一起看看吧
    2025-12-12
  • python开发Streamable HTTP MCP应用小结

    python开发Streamable HTTP MCP应用小结

    这篇文章主要介绍了python开发Streamable HTTP MCP应用的记录,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2025-05-05
  • Python中的http.server库用法详细介绍

    Python中的http.server库用法详细介绍

    这篇文章主要给大家介绍了关于Python中http.server库用法的相关资料,http.server是Python标准库中的一个模块,用于创建基本的HTTP服务器,它提供了处理HTTP请求的基本框架和核心类,需要的朋友可以参考下
    2024-11-11
  • Python3 pyecharts生成Html文件柱状图及折线图代码实例

    Python3 pyecharts生成Html文件柱状图及折线图代码实例

    这篇文章主要介绍了Python3 pyecharts生成Html文件柱状图及折线图代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • 机器学习10大经典算法详解

    机器学习10大经典算法详解

    这篇文章主要为大家详细介绍了机器学习10大经典算法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-12-12
  • python中语法糖的妙用分享

    python中语法糖的妙用分享

    在Python中,语法糖是指一些为了增加代码的可读性、易用性和简洁性而添加的特性,本文为大家整理了一些python中常见语法糖的使用,需要的小伙伴可以了解下
    2023-11-11
  • Python中实现ipaddress网络地址的处理

    Python中实现ipaddress网络地址的处理

    ipaddress库提供了处理IPv4与IPv6网络地址的类。这些类支持验证,查找网络上的地址和主机,以及其他常见的操作,本文就来介绍一下这些方法的使用,感兴趣的一起来了解一下
    2021-06-06
  • Django model select的多种用法详解

    Django model select的多种用法详解

    最近看到 大神 运维咖啡吧的 一篇文章,这里只做个备份,讲的是各种 django model 查询,发现不错,十分感谢该大神的无私奉献
    2019-07-07
  • Python接口测试结果集实现封装比较

    Python接口测试结果集实现封装比较

    这篇文章主要介绍了Python接口测试结果集比较封装,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05

最新评论