Python的四种条件判断

一. 单分支条件判断

单分支:程序中只有一个分支或者条件判断的逻辑结构。

1.1 下级代码只有一条

if 要判断的条件:

条件成立的时候要做的事情

......

注意:代码缩进为一个 Tab 键或者四个空格,建议使用空格。

在 Python 3.13.0 空格少于四个的时候已经不会报错了。

python 复制代码
# if 条件判断:
#    下级代码
# 条件判断为真,下级代码执行,条件判断为假,下级代码不执行。
# 冒号和空格要注意

weather = "下雨"
if weather == "下雨":
    print(weather)  # 下级代码

"""
运行结果:
下雨
"""

1.2 下级代码有多条

下级代码有多条的书写方法与有两条的书写方法是一致的。

下级代码的缩进必须相同,当下级代码的缩进不相同的时候会进行报错。

python 复制代码
# 当下级代码有多条的时候,只要下级代码对其,当条件成立的时候都会执行

# 条件成立的时候
name = "lmh"
if name == "lmh":
    print(name)
    print("好好吃饭")

# 条件不成立的时候
if name == "lm":
    print(name)
    print("好好吃饭")
"""
运行结果:
lmh
好好吃饭

"""

二. 双分支条件判断

双分支:也叫做二分法或者二叉判断,是编程中常用的一种控制流程结构。它基于一个条件判断语句,在满足条件时执行第一个分支的代码块,否则执行第二个分支的代码块。

if 判断条件:

条件为真执行这一段下级代码

else:

条件为假执行这一段下级代码

else后面也需要冒号

下级代码指的是代码前面空格数量相等的一段代码

python 复制代码
# 双分支通常使用 if...else... 语句
age = int(input("请输入你的年龄:"))

if age >= 18:
    print("可以去网吧")
else:
    print("不能去网吧")
    
"""
运行结果:
请输入你的年龄:20
可以去网吧
"""

三. 多分支条件判断

多分支结构的 IF 语句包含多个条件和对应的操作。当第一个条件为真时,程序会执行第一个操作;当第一个条件为假而第二个条件为真时,程序会执行第二个操作,以此类推。

if 判断条件:

条件为真执行这一段下级代码

elif 判断条件:

条件为真执行这一段下级代码

elif 判断条件:

条件为真执行这一段下级代码

elif 判断条件:

条件为真执行这一段下级代码

.......

else:

条件为假执行这一段下级代码

else,elif 后面也需要冒号

下级代码指的是代码前面空格数量相等的一段代码

python 复制代码
# 多分支通常使用 if...elif...elif...else...
score = int(input("请输入分数:"))

if score >= 90:
    print("A")
elif score >= 80:
    print("B")
elif score >= 70:
    print("C")
elif score >= 60:
    print("D")
else:
    print("F")


"""
运行结果:
请输入分数:70
C
"""

四. match...case... 语句

match...case... 语句适用于 Python 3.10.0以后的版本。类似于 C语言 中的switch...case...语句。

match num:

case num1:

下级代码

case num2:

下级代码

case num3:

下级代码

case num4:

下级代码

case _:

下级代码

  • match语句中的每个代码块由一个或多个case子句组成。
  • 每个case子句后面跟着一个判定条件和一个代码块。
  • 当模式匹配成功时,会执行相应的代码块。
  • 如果没有任何模式匹配成功则可以选择使用一个默认的代码块,使用下划线 来表示。
python 复制代码
# 输入数字 1-12 判断有多少天
num = int(input("请输入数字:"))
match num:
    case 1:
        print("31天")
    case 2:
        print("28天或29天")
    case 3:
        print("31天")
    case 4:
        print("30天")
    case 5:
        print("31天")
    case 6:
        print("30天")
    case 7:
        print("31天")
    case 8:
        print("31天")
    case 9:
        print("30天")
    case 10:
        print("31天")
    case 11:
        print("30天")
    case 12:
        print("31天")
    case _:
        print("请输入1-12")


"""
运行结果:
请输入数字:1
31天
"""

五. 判断是否是闰年

isdigit() 方法是判断字符串中是否只有数字,当只有数字的时候判断为真,包含其他情况的时候为假。

python 复制代码
# 输入数字判断谁是否是闰年
num = input("请输入数字:")

# isdigit() 方法是判断字符串中是否只有数字,
# 当只有数字的时候判断为真,包含其他情况的时候为假
if num.isdigit():
    num = int(num)
    if (num % 4 == 0 and num % 100 != 0) or (num % 400 == 0):
        print("闰年")
    else:
        print("平年")
else:
    print("请输入只有数字的字符串!")

"""
运行结果:
请输入数字:1
平年
"""

好好吃饭

好好睡觉

相关推荐
wdfk_prog5 小时前
嵌入式面试真题第 10 题:高优化等级下共享状态可见性、内存模型与系统级同步设计
java·linux·开发语言·面试·职场和发展·架构·c
闻道且行之7 小时前
TurboOCR:基于PP-OCRv6的极速Windows离线OCR工具,深度解析3.4GB依赖背后的技术架构
c++·人工智能·python·qt·机器学习·ocr
许彰午8 小时前
95_Python内存管理与垃圾回收
开发语言·python
多加点辣也没关系8 小时前
JavaScript|第13章:原始类型的方法
开发语言·javascript·ecmascript
এ慕ོ冬℘゜8 小时前
深入理解 JavaScript 事件体系:Window、鼠标与键盘事件详解
开发语言·javascript·okhttp
骄阳如火8 小时前
Python 性能深度剖析:从“被诟病的慢”到“Rust 重塑”的拐点
python
满怀冰雪9 小时前
03-第一个 Paddle 程序:Tensor 创建、计算与设备管理
人工智能·python·paddle
CClaris9 小时前
大模型量化从0到1(九):用 llama.cpp 把模型转成 GGUF 并跑本地推理
人工智能·pytorch·python·深度学习·llama
学编程的小虎9 小时前
SenseVoice微调
人工智能·python·自然语言处理
诸葛说抛光10 小时前
国内大型汽车改装展览会定展 佛山改装 佛山汽车赛事
python·汽车