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

执行结果如下:

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

相关推荐
爱勇宝36 分钟前
我做了一个只用来搜歌词的小 App
android·前端·后端
IT_陈寒2 小时前
SpringBoot自动配置坑了我一晚上,原来问题出在这
前端·人工智能·后端
FreakStudio2 小时前
W55MH32L-EVB 上手测评:硬件 TCP/IP 加持的以太网单片机,MicroPython 零门槛开发
python·单片机·嵌入式·大学生·面向对象·并行计算·电子diy·电子计算机
SelectDB2 小时前
Litefuse 开源并推出单进程轻量模式,25 秒就能跑起来的 Agent 可观测与评估平台
运维·后端·自动化运维
SelectDB2 小时前
秒级弹性、最高降本 70%:SelectDB Serverless 如何重塑云数仓资源效率
大数据·后端·云原生
PinkSun2 小时前
Spring AI ChatMemory踩坑实录:重启丢数据、Agent丢记忆、对话溢出
后端·ai编程
壹方秘境2 小时前
我用Go语言开发了一个跨平台的HTTPS抓包和调试工具
前端·后端·ios
神秘面具男2 小时前
HarmonyOS 6.0跨端远程控制
前端·后端
苏三说技术3 小时前
全网爆火的Loop到底是什么?
后端