5-Python3流程控制(一):if-else条件判断语句实战

目录

一、流程控制的三大分类

二、if语句的三种分支结构

1. 单分支结构(要么执行,要么跳过)

2. 双分支结构(二选一)

3. 多分支结构(多选一)

三、三元运算表达式(简洁版if-else)

四、重要补充

1. 条件判断的真值规则

2. 常见错误提醒

五、总结

六、习题练习

练习参考答案:


流程控制就是程序执行的方式。Python提供了三种控制方式,今天我们重点聊聊最实用的条件判断。

一、流程控制的三大分类

  1. 顺序控制:代码默认从上到下依次执行
  2. 条件控制:根据条件选择性执行代码(今天的主角)
  3. 循环控制:重复执行某段代码(下次讲)

二、if语句的三种分支结构

1. 单分支结构(要么执行,要么跳过)

age = 18
if age >= 18:
    print("你已成年,可以进入网吧")

print("程序结束")

代码解释:如果age >= 18这个条件成立,就执行缩进的print语句;不成立则直接跳过。最后一定会执行print("程序结束")

关键点:Python用缩进(通常是4个空格)表示代码块归属,这是强制要求!


2. 双分支结构(二选一)

score = 85
if score >= 60:
    result = "及格"
else:
    result = "不及格"

print(f"你的成绩:{result}")

代码解释:条件成立执行if块,否则执行else块。两者必选其一,不会都执行。

关键点:else后面不能写条件,它表示"否则就..."


3. 多分支结构(多选一)

score = 85

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

print(f"你的等级是:{level}")

代码解释:从上往下检查条件,第一个满足的就执行,然后跳出整个if结构。如果全都不满足,就执行最后的else。

关键点

  • elif可以有任意多个
  • else是可选的(根据实际情况决定要不要)
  • 一旦某个条件满足,后面条件不再判断

三、三元运算表达式(简洁版if-else)

# 普通写法
age = 20
if age >= 18:
    status = "成年"
else:
    status = "未成年"

# 三元表达式写法(更简洁)
status = "成年" if age >= 18 else "未成年"
print(status)

代码解释:将双分支结构压缩成一行。先写条件成立时的值,然后写if条件,最后写else不满足时的值。

关键点:只适合简单的双分支场景,逻辑复杂时建议用普通if-else,可读性更好。


四、重要补充

1. 条件判断的真值规则

Python中这些值会被当作False处理:

  • FalseNone
  • 数字00.0
  • 空字符串""
  • 空列表[]、空字典{}、空元组()

其他所有值都被当作True

# 实用技巧:判断列表是否为空
users = []
if not users:  # 等价于 if len(users) == 0:
    print("用户列表为空")

代码解释:

空列表是“假”的:在 Python 中,空列表 [] 被视为布尔值 False。

非空列表是“真”的:非空列表(例如 [1,2])被视为布尔值 True

not是逻辑运算符,在这里是取反,所以not users 就是true,条件为真,所以会打印输出"用户列表为空"。

2. 常见错误提醒

  • 错误1:忘记缩进或缩进不一致
if age > 18:
print("成年")  # 报错:必须缩进
  • 错误2:条件后面漏掉冒号
if age > 18  # 报错:漏掉:
    print("成年")
  • 错误3:elif写成else if
if score > 90:
    print("优秀")
else if score > 80:  # 报错:Python中没有else if
    print("良好")

五、总结

结构类型

使用场景

语法特点

单分支

要么做,要么不做

只有if

双分支

二选一

if + else

多分支

多选一

if + 多个elif + else

三元运算

简单二选一

一行搞定

记住:缩进是Python的灵魂,冒号是if的标配。先写清楚再写简洁,代码可读性最重要!


六、习题练习

现在你已经掌握了让程序"做决定"的基本能力!尝试写几个自己的条件判断程序吧,比如:

  • 判断今天是工作日还是周末

  • 根据温度建议穿什么衣服

  • 判断一个年份是不是闰年

编程就像教一个特别听话的朋友做事,你用代码告诉它:"如果遇到这种情况,你就这样做;如果遇到那种情况,你就那样做..."

动手试一试,你会发现自己已经可以写出能"思考"的程序了!

练习参考答案:

# 判断是否为周末
week_day = int(input("请输入一个数字星期几(1~7):"))
if week_day in (6, 7):
    print(f"今天是周末")
else:
    print(f"今天是工作日")


# 判断是否为周末
temp = float(input("请输入当下的温度:"))
if temp < 0:
    print(f"当前温度{temp}℃,极寒!建议穿羽绒服+加绒裤+围巾+手套+棉鞋")
elif 0 <= temp < 10:
    print(f"当前温度{temp}℃,寒冷!建议穿厚毛衣+羽绒服/棉服+加绒裤+皮鞋")
elif 10 <= temp < 20:
    print(f"当前温度{temp}℃,凉爽!建议穿薄毛衣/卫衣+夹克/风衣+休闲裤")
elif 20 <= temp < 28:
    print(f"当前温度{temp}℃,舒适!建议穿短袖/长袖T恤+薄外套+牛仔裤")
else:
    print(f"当前温度{temp}℃,炎热!建议穿短袖+短裤/短裙+凉鞋,注意防晒")


# 闰年判断逻辑
year = int(input("请输入一个年份:"))
if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
    print(f"{year}年是闰年")
else:
    print(f"{year}年不是闰年")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值