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("输入的年龄无效,请输入非负整数。")

执行结果如下:

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

相关推荐
隐擎fox22 分钟前
解构无感人机验证底层机制:行为生物轨迹采样、环境评分模型与自动化对抗实战
自动化测试·python·网络协议·tcp/ip·网络爬虫
haidao03139 分钟前
氙灯光源技术特性及其在光催化实验中的标准化应用研究
人工智能·python·能源
LEE44 分钟前
前端转型全栈 00:AI 时代该学哪些,不该学哪些
前端·后端
Go_error1 小时前
上下文取消链:摧毁我们支付系统的 bug
后端·go
用户0332126663671 小时前
使用 Python 设置 Excel 行列自适应 【代码示例】
python·excel
Ticnix1 小时前
RAG 的坑不在检索,在"对齐":pgvector 实战手记
python·agent·全栈
kyrie_sakura1 小时前
python学习笔记14 -- FastAPI
笔记·python·学习·fastapi
无限压榨切图仔1 小时前
一个优惠券需求改了三端,我才明白全栈不是多学一门语言
前端·后端
CRZZX1 小时前
阶段 0.1:为 AI Agent 项目建立敏感配置治理与安全基线
后端
Zane19941 小时前
用了Optional,为什么NPE还是防不住?
java·后端