5.1 if语句基础


文章目录


前言

本文主要介绍单分支if语句、if-else双分支结构和if-elif-else多分枝结构等知识点。


一、单分支if语句

最基本的条件判断,只有"如果......就......"的逻辑。

语法结构

python 复制代码
python
if 条件表达式:
    # 条件为True时执行的代码块
    # 注意:缩进非常重要!

基本示例

python 复制代码
python
# 示例1:年龄检查
age = 18
if age >= 18:
    print("您已成年,可以进入。")
    print("请出示身份证。")  # 同样缩进的代码都属于if块

# 示例2:成绩判断
score = 85
if score >= 60:
    print("恭喜,及格了!")
    print(f"您的分数是:{score}")

# 示例3:列表不为空时执行
fruits = ["apple", "banana", "orange"]
if fruits:  # 非空列表等价于True
    print(f"水果篮里有{len(fruits)}种水果")
    print(f"第一种水果是:{fruits[0]}")

条件表达式详解

条件表达式可以是各种比较和逻辑运算:

python 复制代码
python
# 比较运算符
x = 10
if x > 5:           # 大于
    print("x大于5")
if x != 0:          # 不等于
    print("x不等于0")

# 逻辑运算符
name = "Alice"
age = 25
if name == "Alice" and age >= 18:  # 与运算
    print("Alice已成年")

# 成员检查
fruits = ["apple", "banana", "orange"]
if "apple" in fruits:  # 检查是否在列表中
    print("有苹果")

# 布尔值直接判断
is_raining = True
if is_raining:
    print("记得带伞")

# 非空检查(常用技巧)
user_input = input("请输入内容:")
if user_input:  # 非空字符串为True
    print(f"您输入了:{user_input}")
else:
    print("您没有输入任何内容")

二、if-else双分支结构

"如果......就......否则......"的逻辑,二选一。

语法结构

python 复制代码
python
if 条件表达式:
    # 条件为True时执行的代码块
else:
    # 条件为False时执行的代码块

基本示例

python 复制代码
python
# 示例1:简单的奇偶判断
number = 7
if number % 2 == 0:  # 检查是否能被2整除
    print(f"{number}是偶数")
else:
    print(f"{number}是奇数")

# 示例2:登录验证
username = input("请输入用户名:")
password = input("请输入密码:")

if username == "admin" and password == "123456":
    print("登录成功!")
    print("欢迎进入系统")
else:
    print("用户名或密码错误!")
    print("请重新尝试")

# 示例3:温度判断
temperature = 28
if temperature > 26:
    print("天气炎热,建议穿短袖")
else:
    print("天气凉爽,可以穿长袖")

嵌套if-else

python 复制代码
python
# 示例:成绩分级(初步)
score = 78

if score >= 60:
    print("及格")
    if score >= 90:  # 嵌套的if语句
        print("优秀!")
    else:
        print("继续努力")
else:
    print("不及格")
    print("需要补考")

# 输出:
# 及格
# 继续努力

三、if-elif-else多分支结构

多个条件判断,从上到下依次检查,执行第一个为True的条件块。

语法结构

python 复制代码
python
if 条件1:
    # 条件1为True时执行
elif 条件2:
    # 条件2为True时执行
elif 条件3:
    # 条件3为True时执行
else:
    # 所有条件都不满足时执行

基本示例

python 复制代码
python
# 示例1:成绩分级系统
score = 85

if score >= 90:
    grade = "A"
    print("优秀!")
elif score >= 80:
    grade = "B"
    print("良好")
elif score >= 70:
    grade = "C"
    print("中等")
elif score >= 60:
    grade = "D"
    print("及格")
else:
    grade = "F"
    print("不及格")

print(f"您的分数是{score},等级是{grade}")

# 示例2:根据星期决定活动
day = input("请输入星期几(1-7):")

if day == "1":
    print("星期一:每周例会")
elif day == "2":
    print("星期二:技术分享")
elif day == "3":
    print("星期三:团队建设")
elif day == "4":
    print("星期四:项目评审")
elif day == "5":
    print("星期五:工作整理")
elif day == "6" or day == "7":
    print("周末:休息放松")
else:
    print("输入错误,请输入1-7的数字")

复杂条件判断

python 复制代码
python
# 示例1:BMI指数计算与判断
height = float(input("请输入身高(米):"))
weight = float(input("请输入体重(公斤):"))

bmi = weight / (height ** 2)
print(f"您的BMI指数是:{bmi:.2f}")

if bmi < 18.5:
    category = "偏瘦"
    advice = "建议适当增加营养"
elif 18.5 <= bmi < 24:
    category = "正常"
    advice = "保持良好生活习惯"
elif 24 <= bmi < 28:
    category = "超重"
    advice = "建议控制饮食,增加运动"
else:
    category = "肥胖"
    advice = "需要减肥,建议咨询医生"

print(f"您的体重状况:{category}")
print(f"健康建议:{advice}")

# 示例2:用户权限判断
user_role = input("请输入用户角色(admin/user/guest):")
action = input("请输入要执行的操作(read/write/delete):")

if user_role == "admin":
    # 管理员有所有权限
    if action == "read":
        print("允许读取")
    elif action == "write":
        print("允许写入")
    elif action == "delete":
        print("允许删除")
    else:
        print("未知操作")
        
elif user_role == "user":
    # 普通用户只有部分权限
    if action == "read":
        print("允许读取")
    elif action == "write":
        print("允许写入")
    elif action == "delete":
        print("权限不足,不允许删除")
    else:
        print("未知操作")
        
elif user_role == "guest":
    # 访客只有读取权限
    if action == "read":
        print("允许读取")
    else:
        print("权限不足")
        
else:
    print("无效的用户角色")

特殊用法:没有else的多分支

python 复制代码
python
# elif可以没有else结尾
hour = int(input("请输入当前小时(0-23):"))

if hour < 6:
    print("凌晨好")
elif hour < 12:
    print("上午好")
elif hour < 18:
    print("下午好")
elif hour < 24:
    print("晚上好")
# 注意:这里没有else,如果hour不在0-23,什么都不会输出

相关推荐
Bruce_Liuxiaowei2 小时前
Nmap+Fofa 一体化信息搜集工具打造
运维·开发语言·网络·网络安全
bu_shuo2 小时前
MATLAB中的转置操作及其必要性
开发语言·算法·matlab
华研前沿标杆游学2 小时前
2026年湖南省工业旅游线路
python
APIshop2 小时前
深入解析京东API接口:如何高效获取商品详情与SKU信息
python
KoalaShane2 小时前
El-slider 增加鼠标滚动滑块事件
开发语言·前端·javascript
94621931zyn62 小时前
备份恢复 - Cordova 与 OpenHarmony 混合开发实战
python
PNP Robotics2 小时前
PNP机器人受邀参加英业达具身智能活动
大数据·人工智能·python·学习·机器人
94621931zyn62 小时前
操作历史 - Cordova 与 OpenHarmony 混合开发实战
python
智算菩萨2 小时前
【Python进阶】搭建AI工程:Python模块、包与版本控制
开发语言·人工智能·python