文章目录
前言
本文主要介绍单分支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,什么都不会输出