Python 教程 - 条件判断

学过了前面内容之后,我们已经掌握了 Python的 基本数据类型。接下来,我们要学习条件判断,也就是让程序能够根据不同的条件执行不同的操作。在 Python 语言中,我们使用 ifelseelif 这三种结构来实现各种条件判断和流程控制。

Python程序是逐行执行的,所以当我们希望程序在某些条件下跳过某些代码时,就可以使用条件判断。也就是说,如果想让程序自动检查处理的数据内容,并根据数据内容决定是否执行某个操作,就需要用到条件判断来控制流程。

if 语句

当程序执行过程中需要根据某个条件来决定是否执行后续操作时,就需要使用 if 语句。

sql 复制代码
if condition:
    statement

注意,statement 前面有四个空格,这叫做缩进。Python 程序中的代码块(例如函数体、循环、条件判断、类定义等)不是通过花括号来标识范围,而是通过行尾的冒号 (:) 和下一行的缩进来划分代码块的边界。在 Python 中,我们通过缩进来判断代码属于哪一层级。同一层次的代码块应该有相同的缩进级别,不同层次的代码块则需要增加额外的缩进以表示嵌套关系。

在上述语法中,如果判断条件为真,则执行缩进下的语句;否则,不执行。例如:

python 复制代码
score = int(input("请输入成绩"))
if score >= 60:
    print("成绩及格!")

执行结果如下:

input() 这个函数可以用来让程序接收用户输入。当一个变量被赋值为 input() 的结果时,默认类型为字符串。

if-else 语句

if 语句可以与else 配合使用,让程序在 if 条件不成立时执行 else 下定义的操作。也就是说,当判断条件为真时执行某个操作,条件不成立时执行另外的操作。其语法如下:

sql 复制代码
if condition:
    statement1 for True condition
else:
    statement2 for False condition

在上述语法中,若 condition 为真 (True),则执行 statement1;反之,则执行 statement2。例如:

python 复制代码
score = int(input("score:"))
if score >= 60:
    print("成绩及格!")
else:
    print("不及格!")

执行结果如下:

当输入的成绩大于等于 60 时,执行 if 内的语句,即打印"成绩及格!"

否则执行else 内的语句,即打印"不及格!"。

如果想写个程序,打印输入的两个数字中较大的那个,代码如下:

less 复制代码
a = input("a: ")
b = input("b: ")
if a > b:
    print("max: ", a)
else: 
    print("max: ", b)

执行结果如下:

if-elif-else 语句

有时候需要判断的情况有很多种,这时就可以使用 if-elif-else 结构来描述我们的需求。语法如下:

python 复制代码
if condition1:
    statement1 for True Condition1
elif condition2 :
    statement2 for True Condition2
elif condition3 :
    statement3 for True Condition3
else:
    statements for Each Condition False

elif 的数量没有限制,可以根据需要自定义。

下面是将输入成绩区分为 A, B, C, D 和 F 等 5 个等级的例子:

python 复制代码
score = int(input("score: "))
if score >= 90:
    print('Grade is: A')
elif score >= 80:
    print('Grade is: B')
elif score >= 70:
    print('Grade is: C')
elif score >= 60:
    print('Grade is: D')
else:
    print('Grade is: F')

执行结果如下:

嵌套if语句

当我们需要在条件判断中进一步判断条件时,就需要使用嵌套if结构。所谓的嵌套if语句是指在 if-else 结构中,还有另一组 if-else 结构。例如:

python 复制代码
# 定义一个年龄变量
age = int(input())

# 使用嵌套if判断年龄区间并输出相应的信息
if age >= 0:
    if age < 13:
        print("你是儿童")
    elif age < 18:
        print("你是青少年")
    else:
        if age < 60:
            print("你是成年人")
        else:
            print("你是老年人")
else:
    print("输入的年龄无效,请输入非负整数。")

执行结果如下:

经过这次的学习,现在我们的程序已经能够在不同条件下执行不同动作了。下一讲将会介绍另一个重要概念---循环。在处理数据时,如果需要重复执行某些相同步骤,就会使用循环,让指定的代码段在条件满足的情况下重复执行。

相关推荐
蝎子莱莱爱打怪16 分钟前
GitLab CI/CD + Docker Registry + K8s 部署完整实战指南
后端·docker·kubernetes
哈密瓜的眉毛美33 分钟前
零基础学Java|第三篇:DOS 命令、转义字符、注释与代码规范
后端
用户60572374873081 小时前
AI 编码助手的规范驱动开发 - OpenSpec 初探
前端·后端·程序员
哈密瓜的眉毛美1 小时前
零基础学Java|第二篇:Java 核心机制与第一个程序:从 JVM 到 Hello World
后端
码路飞1 小时前
写了个 AI 聊天页面,被 5 种流式格式折腾了一整天 😭
javascript·python
用户8307196840821 小时前
RabbitMQ vs RocketMQ 事务大对决:一个在“裸奔”,一个在“开挂”?
后端·rabbitmq·rocketmq
初次攀爬者1 小时前
RocketMQ 集群介绍
后端·消息队列·rocketmq
Leo8991 小时前
go 从零单排 之 一小时通关
后端
花花无缺1 小时前
搞懂@Autowired 与@Resuorce
java·spring boot·后端
CodeMonkey1 小时前
记一次傻逼一样的 OOM 异常
后端