- 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 条件:
语句1
else:
语句2
两种情况选其一 多分支 if 条件1:
语句1
elif 条件2:
语句2
else:
语句3
多种情况选一项 for 循环 for 变量 in 序列:
语句
遍历序列 while 循环 while 条件:
语句
条件满足时重复执行 break break
立刻退出当前循环 else for/while ... else:
语句
循环正常结束时执行(非break)
十、课后练习建议(动手写一写)
- 编写程序:输入两个数,输出它们的差(大减小)和它们的和。
- 编写程序:计算 1 到 100 中所有偶数的和。
- 编写程序:打印出 1~100 之间能被 3 整除的所有数。
- 编写程序:输入一个正整数,判断它是否是质数(只能被1和自身整除)。
🎯 总结一句话:
选择结构让你根据条件做决定;循环结构让你反复执行任务。掌握 if、for、while、break 这些关键词,你就拥有了编写复杂逻辑的能力!
- 1