Python3入门指南Python语言的特点和实际应用Python3环境搭建配置VSCode进行Python开发Python基础语法Python变量与数据类型Python数据类型转换Python解释器使用Python注释使用Python运算符Python数字类型Python字符串操作Python列表操作Python元组使用Python字典使用Python集合使用Python条件控制详解Python循环语句详解Python编程入门实践Python推导式详解Python迭代器和生成器Python with语句详解Python函数详解Python lambda(匿名函数)Python装饰器Python数据结构Python模块和包使用Python中__name__和__main__的用法Python输入输出:从基础到文件操作Python文件操作Python OS模块使用Python错误和异常处理Python面向对象编程Python命名空间和作用域Python虚拟环境:venv详细教程Python类型注解Python标准库常用模块Python正则表达式Python CGI编程Python MySQL(mysql-connector驱动)Python MySQL(PyMySQL驱动)Python网络编程Python发送邮件Python多线程编程Python XML解析Python JSON解析Python日期和时间处理Python操作MongoDBPython urllib库使用Python uWSGI 安装与配置Python pip包管理工具Python operator模块Python math模块Python requests模块HTTP请求Python random模块Python OpenAI库Python AI绘画制作Python statistics模块Python hashlib模块:哈希加密Python量化交易Python pyecharts数据可视化Python Selenium网页自动化Python BeautifulSoup网页数据提取Python Scrapy爬虫框架Python Markdown转HTMLPython sys模块Python Pickle模块:数据存储Python subprocess模块Python queue队列模块Python StringIO内存文件操作Python logging日志记录Python datetime日期时间处理Python re正则表达式Python csv表格数据处理Python threading 多线程编程Python asyncio 异步编程Python PyQt 图形界面开发Python 应用方向和常用库框架

Python条件控制详解

在Python编程中,条件控制让程序能够根据不同情况做出决策。就像生活中的选择一样,程序也需要根据条件执行不同的操作。


什么是条件语句

条件语句通过检查条件的真假来决定执行哪段代码。如果条件为真,执行一块代码;如果条件为假,可能执行另一块代码或者什么都不做。


if语句的基本结构

Python中使用if、elif和else来构建条件语句:

if 条件1:
    # 条件1为真时执行的代码
elif 条件2:
    # 条件2为真时执行的代码
else:
    # 所有条件都为假时执行的代码

需要注意的几点:

  • 每个条件后面必须有冒号

  • 执行代码需要缩进(通常是4个空格)

  • elif可以没有,也可以有多个

  • else可以省略


简单的if语句

来看一个基础例子:

age = 18

if age >= 18:
    print("你已经成年了")
    print("可以考驾照了")

如果age大于等于18,会执行缩进的两行print语句。


if-else语句

当有两种可能情况时,使用if-else:

score = 85

if score >= 60:
    print("考试及格")
else:
    print("考试不及格")


if-elif-else语句

当有多种情况需要判断时,使用if-elif-else:

temperature = 25

if temperature > 30:
    print("天气很热")
elif temperature > 20:
    print("天气温暖")
elif temperature > 10:
    print("天气凉爽")
else:
    print("天气寒冷")


比较运算符

条件判断中常用的比较运算符:

a = 10
b = 5

print(a > b)   # 大于:True
print(a < b)   # 小于:False  
print(a >= b)  # 大于等于:True
print(a <= b)  # 小于等于:False
print(a == b)  # 等于:False
print(a != b)  # 不等于:True


逻辑运算符

可以组合多个条件:

age = 25
has_license = True

# and:两个条件都满足
if age >= 18 and has_license:
    print("可以开车")

# or:至少满足一个条件
if age < 12 or age > 65:
    print("可以享受优惠")

# not:条件取反
is_raining = False
if not is_raining:
    print("天气晴朗,可以出门")


实际应用示例

成绩评级系统

score = float(input("请输入成绩:"))

if score >= 90:
    grade = "优秀"
elif score >= 80:
    grade = "良好"  
elif score >= 70:
    grade = "中等"
elif score >= 60:
    grade = "及格"
else:
    grade = "不及格"

print(f"你的成绩等级是:{grade}")

用户登录验证

username = input("请输入用户名:")
password = input("请输入密码:")

correct_username = "admin"
correct_password = "123456"

if username == correct_username and password == correct_password:
    print("登录成功!")
else:
    print("用户名或密码错误")


嵌套if语句

在if语句内部还可以包含其他if语句:

num = int(input("请输入一个数字:"))

if num % 2 == 0:
    print("这是一个偶数")
    if num % 4 == 0:
        print("而且能被4整除")
    else:
        print("但不能被4整除")
else:
    print("这是一个奇数")
    if num % 3 == 0:
        print("而且能被3整除")


条件表达式

简单的条件判断可以用一行代码完成:

age = 20
status = "成年" if age >= 18 else "未成年"
print(status)  # 输出:成年

score = 85
result = "及格" if score >= 60 else "不及格"
print(result)  # 输出:及格


match-case语句(Python 3.10+)

Python 3.10引入了match-case语句,类似于其他语言的switch语句:

def get_day_type(day):
    match day:
        case "周一" | "周二" | "周三" | "周四" | "周五":
            return "工作日"
        case "周六" | "周日":
            return "周末"
        case _:
            return "无效输入"

print(get_day_type("周六"))  # 输出:周末


常见应用场景

数字判断游戏

import random

target = random.randint(1, 100)
attempts = 0

print("猜数字游戏开始!数字在1-100之间")

while True:
    guess = int(input("请输入你猜的数字:"))
    attempts += 1
    
    if guess == target:
        print(f"恭喜!你猜对了,用了{attempts}次")
        break
    elif guess < target:
        print("猜小了,再试试")
    else:
        print("猜大了,再试试")

BMI计算器

height = float(input("请输入身高(米):"))
weight = float(input("请输入体重(公斤):"))

bmi = weight / (height ** 2)

if bmi < 18.5:
    category = "体重过轻"
elif bmi < 24:
    category = "正常范围"
elif bmi < 28:
    category = "超重"
else:
    category = "肥胖"

print(f"你的BMI是:{bmi:.2f}")
print(f"体重状况:{category}")

购物折扣计算

amount = float(input("请输入购物金额:"))

if amount >= 500:
    discount = 0.8  # 8折
    discount_text = "8折"
elif amount >= 300:
    discount = 0.9  # 9折
    discount_text = "9折"
elif amount >= 100:
    discount = 0.95 # 95折
    discount_text = "95折"
else:
    discount = 1.0  # 无折扣
    discount_text = "无折扣"

final_amount = amount * discount
saved = amount - final_amount

print(f"原价:{amount:.2f}元")
print(f"折扣:{discount_text}")
print(f"实付:{final_amount:.2f}元")
print(f"节省:{saved:.2f}元")


注意事项

  1. 缩进要一致:使用4个空格,不要混用空格和Tab键

  2. 条件要明确:确保条件表达式返回True或False

  3. 避免过度嵌套:太深的嵌套会让代码难以阅读

  4. 使用括号:复杂的条件可以用括号明确优先级

# 好的写法
if (age >= 18 and has_license) or is_emergency:
    print("可以开车")

# 避免太深的嵌套
if condition1:
    if condition2:
        if condition3:
            # 这样嵌套太深,考虑重构


学习建议

要掌握条件控制,建议:

  1. 从简单的if语句开始练习

  2. 理解比较运算符和逻辑运算符

  3. 多写实际应用的小程序

  4. 注意代码的缩进和格式

记住,条件控制是编程的基础。通过条件判断,程序才能根据不同情况做出智能决策。开始可能觉得简单,但随着程序复杂度的增加,合理的条件判断会变得很重要。多练习,你会越来越熟练。

本文内容仅供个人学习/研究/参考使用,不构成任何决策建议或专业指导。分享/转载时请标明原文来源,同时请勿将内容用于商业售卖、虚假宣传等非学习用途哦~感谢您的理解与支持!

链接: https://fly63.com/course/36_2088

目录选择