Python核心语法-流程控制语句
数据的逻辑处理
条件判断
if语句的基本格式
场景: 只有满足指定条件,才会执行对应的代码逻辑。
python
#if条件判断基本格式
if 要判断的条件:
条件成立时,要执行对应的操作python
#定义变量
score = 695
#条件判断
if score > 680:
print("欢迎你,来清华读书“)注意:
Python中是通过缩进来描述代码的归属的,归属于if代码块的语句,需要在前方缩进4个空格
判断条件的结果一定是布尔类型
不要忘记判断条件后的冒号
if…else

python
#if...else 结构
if 要判断的条件:
条件成立时,执行对应的操作1
else:
条件不成立时,执行的操作2练习
🤔根据用户输入的考试分数,判断该分数是否及格了(大于等于60就是及格了)。
python
score = int(input("请输入考试分数: "))
if score >= 60:
print(f"{score} 分, 及格了")
else:
print(f"{score} 分, 不及格")if…elif…else

python
if 条件1:
# 代码块1
elif 条件2:
# 代码块2
else:
# 代码块3
#从上到下依次检查条件,一旦某个条件为 True,执行对应块并跳过后续判断。注意:
elif 可以写多个
else 可有可无,如果有必须放在最后
多个条件判断时有顺序的,从上到下判断,如果前面有条件成立,后面的条件不会判断了
练习
🤔购物折扣计算:根据输入的购物车的商品总额,以及如下的折扣规则,计算实际应付的金额。
- 金额 >= 500: 8折
- 300 <= 金额 < 500: 9折
- 100 <= 金额 < 300: 95折
- 金额 < 100: 无折扣
python
total_price = float(input("请输入购物车商品总额: "))
if total_price >= 500:
print(f"{total_price} 元商品, 8折, 实际应付: {total_price * 0.8} 元")
elif total_price >= 300:
print(f"{total_price} 元商品, 9折, 实际应付: {total_price * 0.9} 元")
elif total_price >= 100:
print(f"{total_price} 元商品, 95折, 实际应付: {total_price * 0.95} 元")
else:
print(f"{total_price} 元商品, 无折扣, 需支付: {total_price} 元")模式匹配
match…case
结构模式匹配就是用一个清晰的 模版 去精准的匹配数据的结构和内柔,匹配成功则执行相应的操作
python
day = int(input("请输入星期几"))
match day:
case 1:
print("工作")
case 2:
print("工作")
case 3:
print("工作")
case 4:
print("工作")
case 5:
print("工作")
case 6:
print("休息")
case 7:
print("休息")
case _:
print("输入错误")练习
🤔请你编写一个游戏角色移动控制系统,根据玩家输入的不同指令,控制游戏角色执行相应的动作(输出控制台)。
具体规则:
- 上 / w /W 角色向上移动
- 下 / s / S 角色向下移动
- 左 / a / A 角色向左移动
- 右 / d / D 角色向右移动
- 跳 / " "(空格) 角色跳跃
- 攻击 / j / J 角色发动攻击
- 退出 / esc / ESC 角色退出游戏
python
oper = input("请输入操作: ")
match oper:
case "w" | "W" | "上":
print("角色向上移动")
case "s" | "S" | "下":
print("角色向下移动")
case "a" | "A" | "左":
print("角色向左移动")
case "d" | "D" | "右":
print("角色向右移动")
case " " | "跳":
print("角色跳跃")
case "j" | "J" | "攻击":
print("角色攻击")
case "esc" | "ESC" | "退出":
print("角色退出游戏")
case _:
print("非法操作, 不支持!!!")循环
while循环


for循环
while循环是通过条件表达式来控制是否要进行下一次循环的,而for循环,本质是一种轮询遍历机制,对一批内容进行逐个处理

python
#定义要遍历的字符串
msg = "hello-Python"
#遍历字符串,并处理
for i in msg
print(i)
else:
print("循环结束")range语句

嵌套循环
练习
🤔根据输入的数字,打印对应的数字金字塔 1 1 2 1 2 3 1 2 3 4 1 2 3 4 5 1 2 3 4 5 6 1 2 3 4 5 6 7
python
num = int(input("请输入数字: "))
for i in range(1, num+1):
for j in range(1, i + 1):
print(j, end=" ")
print()breka关键字
不能单独书写,只能出现循环中,表示结束,跳出的意思
continue关键字
不能单独书写,只能出现在循环中,表示中断本次循环,进入下一次循环
python
# 示例:在数字列表中搜索,跳过负数,发现0时停止
data = [5, 3, -1, 8, 0, 2, 4]
print("开始处理数据:")
for num in data:
if num < 0:
print(f"跳过负数: {num}")
continue # 跳过本次迭代,不执行后续print
if num == 0:
print("遇到0,终止循环。")
break # 终止整个循环
print(f"有效值: {num}")
print("循环结束。")