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 小时前
Serilog 日志库简单实践(二):控制台与调试 Sinks(.net8)
后端
007php00716 小时前
某游戏大厂 Java 面试题深度解析(四)
java·开发语言·python·面试·职场和发展·golang·php
想不明白的过度思考者16 小时前
Rust——异步递归深度指南:从问题到解决方案
开发语言·后端·rust
景彡先生16 小时前
Python pandas数据透视表(pivot_table)详解:从入门到实战,多维数据分析利器
python·数据分析·pandas
ConardLi17 小时前
Easy Dataset 已经突破 11.5K Star,这次又带来多项功能更新!
前端·javascript·后端
Blossom.11817 小时前
把AI“编”进草垫:1KB决策树让宠物垫自己报「如厕记录」
java·人工智能·python·算法·决策树·机器学习·宠物
芒克芒克17 小时前
ssm框架之Spring(上)
java·后端·spring
冒泡的肥皂17 小时前
MVCC初学demo(二
数据库·后端·mysql
追逐时光者17 小时前
一款基于 .NET WinForm 开源、轻量且功能强大的节点编辑器,采用纯 GDI+ 绘制无任何依赖库仅仅100+Kb
后端·.net
鬼火儿17 小时前
1.2 redis7.0.4安装与配置开机自启动
java·后端