- Python
Python 流程控制学习笔记
- @ 2025-6-3 20:27:32
Python 流程控制学习笔记
一、选择结构(if 语句)
1. 概念理解
选择结构就是让程序根据条件“选择”执行不同的代码,像生活里“如果下雨就打伞,不下雨就晒太阳” ,程序里用 if 实现这种判断。
2. 三种选择结构形式
(1)单分支选择结构
# 如果条件成立,就执行缩进的语句
if 条件表达式:
语句
# 示例:判断数字是否大于 10
num = 15
if num > 10:
print("这个数字大于10")
- 解释:
if后面的条件表达式num > 10成立(15 确实大于 10),就执行print语句,打印内容。
(2)双分支选择结构
if 条件表达式:
语句1 # 条件成立时执行
else:
语句2 # 条件不成立时执行
# 示例:判断数字是奇数还是偶数
num = 7
if num % 2 == 0:
print("是偶数")
else:
print("是奇数")
- 解释:
num % 2 == 0判断是否能被 2 整除,7 除以 2 余 1,条件不成立,执行else里的print("是奇数")。
(3)多分支选择结构
if 条件表达式1:
语句1 # 条件1成立执行
elif 条件表达式2:
语句2 # 条件1不成立、条件2成立执行
elif 条件表达式3:
语句3 # 前面条件都不成立,条件3成立执行
# 以此类推,可多个 elif
# 示例:根据成绩评级(简化版,假设成绩是整数)
score = 85
if score >= 90:
print("优秀")
elif score >= 80:
print("良好")
elif score >= 60:
print("合格")
else:
print("不合格")
- 解释:先看
score >= 90,85 不满足;再看score >= 80,满足,执行print("良好")。
3. 实际应用案例(出租车计价、坐标象限判断 )
(1)出租车计价
# 输入公里数,自动计算费用
a = eval(input("请输入公里数:")) # 获取用户输入的公里数,eval 把输入转成数字
price = 0 # 先定义费用变量
if a <= 3:
price = 11.0 # 3公里及以内,起步价11元
else:
# 超过3公里的部分,每公里2.4元,总费用=起步价 + 超出部分费用
price = 11.0 + (a - 3) * 2.4
print("请付费:¥", price) # 输出最终费用
- 比如输入 4 公里,
a=4大于 3 ,price = 11 + (4-3)*2.4 = 13.4,就会输出请付费:¥ 13.4。
(2)坐标象限判断
# 输入x、y坐标,判断在哪个位置
x = eval(input("请输入x坐标:"))
y = eval(input("请输入y坐标:"))
if (x == 0 and y == 0):
print("在原点") # x和y都为0,就是原点
elif (x == 0):
print("在y轴") # x为0,y不是0,就在y轴
elif (y == 0):
print("在x轴") # y为0,x不是0,就在x轴
elif (x > 0 and y > 0):
print("在第一象限") # x、y都大于0,第一象限
elif (x < 0 and y > 0):
print("在第二象限") # x小于0,y大于0,第二象限
elif (x < 0 and y < 0):
print("在第三象限") # x、y都小于0,第三象限
elif (x > 0 and y < 0):
print("在第四象限") # x大于0,y小于0,第四象限
- 比如输入
x=5,y=8,满足x>0 and y>0,就输出在第一象限。
二、循环结构(for 循环、while 循环 )
1. for 循环
(1)概念理解
确定次数的循环,也叫遍历循环,就是把一个序列(列表、字符串等)里的元素逐个“过一遍”,依次执行循环里的代码。
(2)基本语法
for 循环变量 in 遍历结构:
循环语句
else:
语句 # 遍历完所有元素后,会执行这里(如果循环没被 break 打断)
# 简单示例:遍历列表里的编程语言
languages = ["C", "C++", "Python", "Java"]
for x in languages:
print(x)
else:
print("遍历完啦")
- 执行过程:
x依次取languages里的元素,打印C、C++、Python、Java,遍历完后执行else里的print("遍历完啦")。
(3)实际应用(计算累加和 )
① 计算 1 到 100 偶数的和
sum = 0 # 用来存总和,初始为0
for i in range(1, 101): # i 从1到100依次取值
if i % 2 == 0: # 判断是否是偶数
sum = sum + i # 是偶数就加到总和里,也可以写 sum += i
print(sum) # 最后输出总和,结果是 2550(2+4+…+100 的和)
- 解释:
range(1,101)生成 1 到 100 的数字序列,循环里判断偶数并累加。
② 计算 1 到 99 奇数的和(两种写法 )
写法一:
s = 0
for i in range(1, 100, 2): # range(起始, 结束, 步长),这里步长2,取1、3、5…99
s += i # 累加奇数
print(s) # 结果是 2500(1+3+…+99 的和)
写法二:
s = 0
for i in range(1, 100): # i 从1到99
if i % 2 == 1: # 判断是否是奇数
s += i # 是奇数就累加
print(s) # 结果同样是2500
(4)for 循环结合 break(提前终止循环 )
list1 = [1, 3, 5, 7, 9]
for i in list1:
print(i, end=" ") # 打印元素,end=" " 让打印不换行,用空格隔开
if i >= 5: # 当元素大于等于5时
break # 跳出循环,后面的元素就不遍历了
else:
print("else") # 因为循环被 break 打断,这里不会执行
# 执行结果:1 3 5
- 解释:
i依次取1、3、5,取到5时,满足i>=5,执行break,循环提前结束,else部分不执行 。
2. while 循环
(1)概念理解
非确定次数的循环,也叫无限循环(不过实际会通过条件控制结束),只要条件表达式为 True ,就一直执行循环里的代码。
(2)基本语法
while 循环条件表达式:
循环语句
改变循环条件的语句 # 必须有,否则容易死循环
# 示例:求 1*2*3*…*n 的值(阶乘)
s = 1 # 存乘积结果,初始为1(乘法初始值选1)
n = int(input("请输入n:")) # 让用户输入想算到几的阶乘
i = 1 # 循环变量,从1开始
while i <= n: # 只要i小于等于n,就继续循环
s *= i # 相当于 s = s * i ,累乘
i = i + 1 # 改变循环条件,让i逐渐增大,靠近n
print(s) # 输出最终的阶乘结果
- 比如输入
n=5,循环过程:i=1时s=1*1=1;i=2时s=1*2=2;i=3时s=2*3=6;i=4时s=6*4=24;i=5时s=24*5=120,最后输出120。
(3)while 循环结合 break(提前终止 )
var = 10
while var > 0:
print('当前值:', var)
var = var - 1 # 改变循环条件,让var减小
if var == 5: # 当var减到5时
break # 跳出循环
print("Done!")
# 执行结果:
# 当前值: 10
# 当前值: 9
# 当前值: 8
# 当前值: 7
# 当前值: 6
# Done!
- 解释:
var从 10 开始,每次减 1 ,当var变成 5 时,执行break,循环终止,最后打印Done!。
三、break 语句
1. 作用
在循环(for 或 while )里,当满足某个条件时,用 break 可以直接跳出当前循环,循环里 break 之后的代码不再执行,要是有 else 部分(和循环配套的),else 也不执行。
2. 示例(遍历字符串时用 break )
for letter in 'Python':
if letter == 'h':
break # 遇到'h'就跳出循环
print('当前字母:', letter)
# 执行结果:
# 当前字母: P
# 当前字母: y
# 当前字母: t
- 解释:
letter依次取'P'、'y'、't'、'h',取到'h'时,if条件成立,执行break,循环结束,所以只打印到't'。
这些就是 Python 里选择结构和循环结构的基础知识点啦,多敲代码练习练习,就能慢慢熟练掌握啦,遇到问题别慌,一步步分析条件和执行流程就好~
1 条评论
-
admin SU @ 2025-6-3 20:29:50
🐍 Python :控制结构 —— 选择结构与循环结构
🧠 本节课目标:
通过本节课,你将掌握以下内容:
- 选择结构:单分支、双分支、多分支
- for 循环:遍历数据、计算累加和
- while 循环:条件驱动的循环
- break 语句:跳出当前循环
- else 子句:配合 for/while 使用
一、选择结构(if 语句)
1. 单分支选择结构
if 条件: # 如果条件为 True,执行这段代码示例:
a = 5 if a > 3: print("a大于3")
2. 双分支选择结构(if...else)
if 条件: # 如果条件为 True,执行这里 else: # 否则执行这里示例:
price = float(input("请输入香蕉的单价: ")) if price > 3: print("好贵") else: print("价格还好")
3. 多分支选择结构(if...elif...else)
用于判断多个条件。
if 条件1: # 条件1成立时执行 elif 条件2: # 条件2成立时执行 else: # 都不成立时执行示例:成绩等级判断
score = int(input("请输入你的成绩: ")) if score >= 90: print("优秀") elif score >= 80: print("良好") elif score >= 60: print("合格") else: print("不及格")
二、实战练习:出租车计价系统
💡 题目说明:
南京出租车计费规则如下:
- 起步价:11元 / 3公里
- 超出3公里后,每公里2.4元
✅ 示例代码 + 注释:
# 输入公里数 km = float(input("请输入公里数:")) # 判断是否超过3公里 if km <= 3: price = 11.0 else: price = 11.0 + (km - 3) * 2.4 # 输出结果 print("请付费:¥", price)
三、实战练习:坐标象限判断
💡 题目说明:
输入 x 和 y 的值,判断该点在第几象限或在哪条轴上。
✅ 示例代码 + 注释:
x = float(input("请输入x坐标:")) y = float(input("请输入y坐标:")) if x == 0 and y == 0: print("在原点") elif x == 0: print("在y轴") elif y == 0: print("在x轴") elif x > 0 and y > 0: print("在第一象限") elif x < 0 and y > 0: print("在第二象限") elif x < 0 and y < 0: print("在第三象限") else: print("在第四象限")
四、for 循环(确定次数循环)
1. 基本语法:
for 变量 in 序列: # 循环体2. 示例:遍历列表
languages = ["C", "C++", "Python", "Java"] for lang in languages: print(lang)3. 示例:计算 1+3+5+…+99 的和
s = 0 for i in range(1, 100, 2): # 从1开始,每隔2个数字取一个(即奇数) s += i print(s)
五、while 循环(不确定次数循环)
1. 基本语法:
while 条件: # 条件为 True 时执行 # 注意要改变条件,否则会死循环2. 示例:求阶乘
n!s = 1 n = int(input("请输入n: ")) i = 1 while i <= n: s *= i i += 1 print(s)
六、break 语句(提前退出循环)
💡 break 的作用:
一旦遇到
break,就立刻结束当前所在的循环。示例:
var = 10 while var > 0: print('当前值:', var) var -= 1 if var == 5: break print("Done!")🔁 执行到
var == 5时,触发break,循环终止。
七、for + else 结构(循环正常结束后执行 else)
list1 = [1, 3, 5, 7, 9] for i in list1: print(i, end=" ") if i >= 5: break else: print("else")⚠️ 注意:如果循环中没有
break或者循环被中断了,else不会执行!
八、综合练习:判断输入数字能否被7整除
✅ 示例代码:
num = int(input("请输入一个整数:")) if num % 7 == 0: print(f"{num} 能被7整除") else: print(f"{num} 不能被7整除")
九、知识点总结表
类型 语法格式 用途 单分支 if 条件:
语句条件满足时执行 双分支 if 条件:
语句1else:
语句2两种情况选其一 多分支 if 条件1:
语句1elif 条件2:
语句2else:
语句3多种情况选一项 for 循环 for 变量 in 序列:
语句遍历序列 while 循环 while 条件:
语句条件满足时重复执行 break break立刻退出当前循环 else for/while ... else:
语句循环正常结束时执行(非break)
十、课后练习建议(动手写一写)
- 编写程序:输入两个数,输出它们的差(大减小)和它们的和。
- 编写程序:计算 1 到 100 中所有偶数的和。
- 编写程序:打印出 1~100 之间能被 3 整除的所有数。
- 编写程序:输入一个正整数,判断它是否是质数(只能被1和自身整除)。
🎯 总结一句话:
选择结构让你根据条件做决定;循环结构让你反复执行任务。掌握 if、for、while、break 这些关键词,你就拥有了编写复杂逻辑的能力!
- 1