当前位置: 首页 > news >正文

python开发之路【第四章】:python程序流程控制

语句

一、行的概念

1.1 物理行

定义:程序员在编辑器中手动编写代码时,肉眼可见的每一行,是代码的「视觉行」。
示例

print("Hello")
a = 1 + 2 + 3

上面两行代码,就是两个物理行。

1.2 逻辑行

定义:Python解释器实际执行的一条完整指令,是代码的「功能行」。
示例

# 一个物理行 = 一个逻辑行(最推荐的写法)
num = 10
print(num * 2)

1.3 编码规范建议

优先原则:一个逻辑行对应一个物理行。这是Python官方推荐的编码风格,代码可读性最高。
特殊场景:若需在一个物理行中写多个逻辑行,必须用分号;分隔(不推荐频繁使用,仅适用于极简场景)。
示例

# 一个物理行包含两个逻辑行(分号分隔)
a = 5; print(a * 3)  # 解释器会依次执行「赋值」和「打印」两个逻辑行

1.4 长逻辑行的换行技巧

隐式换行

定义:在括号(()/[]/{})内的内容换行,Python 解释器会自动识别为同一逻辑行,无需额外标记。
优势:无需手动加符合,代码更简洁,是python中最常用的换行方式。
示例

# 列表([])内隐式换行
fruits = ["apple","banana","orange"
]# 表达式(())内隐式换行
total = (10 + 20+ 30 + 40+ 50
)# 字典({})内隐式换行
person = {"name": "Alice","age": 25,"city": "Beijing"
}

显式换行

定义:通过折行符\(反斜杠)标记换行,需将\放在一行的末尾,告诉解释器「下一行是本行的延续」。
注意\后必须紧跟换行,不能有空格或其他字符,否则会报错。
示例

# 显式换行(反斜杠)
total = 10 + 20 + 30 + \40 + 50 + 60# 错误示例:\后有空格
# total = 10 + 20 + \ (空格)
#         30 + 40  # 解释器会报错

二、选择语句

选择语句的核心是根据条件选择性执行代码,Python中最常用的就是if-else系列语句。

2.1 基础if-else语句

作用

让程序根据“条件是否成立”二选一执行代码块。

语法

if 条件表达式:条件成立时执行的代码块
else:条件不成立时执行的代码块

实战练习:体温判断

需求:输入体温,36~37之间输出“正常”,否则输出“异常”。

# 输入体温并转换为浮点数
temperature = float(input("请输入体温:"))
# 判断逻辑
if 36 <= temperature <= 37:print("正常")
else:print("异常")

2.2 省略else:仅判断“满足条件”的场景

如果只需要在条件成立时执行代码,不成立时无操作,可省略else

语法

if 条件表达式:条件成立时执行的代码块

实战练习:课程阶段匹配

需求:输入课程阶段数,输出对应课程名称(仅处理1-4的情况)。

stage = int(input("请输入课程阶段数:"))
if stage == 1:print("Python语言核心编程")
if stage == 2:print("Python高级软件技术")
if stage == 3:print("Web 全栈")
if stage == 4:print("人工智能")

2.3 elif:多条件分支判断

当需要判断“多个互斥条件”时,用elif(else if的简写)更高效,避免多层if嵌套。

语法

if 条件1:条件1成立执行的代码
elif 条件2:条件2成立执行的代码
...
else:所有条件都不成立执行的代码

实战练习1:判断数字正负零

num = float(input("请输入一个数字:"))
if num > 0:print("正数")
elif num < 0:print("负数")
else:print("零")

实战练习2:智商等级计算

需求:根据心理年龄(MA)和实际年龄(CA)计算IQ,判断智商等级(IQ=MA/CA*100)。

# 输入并转换为整数
ma = int(input("请输入心理年龄:"))
ca = int(input("请输入实际年龄:"))
# 计算IQ(注意除法用/,避免整数除法)
iq = ma / ca * 100
# 多分支判断
if iq >= 140:print("天才")
elif 120 <= iq <= 139:print("超常")
elif 110 <= iq <= 119:print("聪慧")
elif 90 <= iq <= 109:print("正常")
elif 80 <= iq <= 89:print("迟钝")
else:print("低能")

1.4 if嵌套:条件里套条件

当判断逻辑需要“先大条件,后小条件”时,用if嵌套。

实战练习:月份天数判断

需求:输入月份,输出对应天数(1/3/5/7/8/10/12→31天;2→29天;4/6/9/11→30天;其他提示月份有误)。

month = int(input("请输入月份:"))
# 外层判断:月份是否合法
if 1 <= month <= 12:# 内层判断:天数if month == 2:print("29天")elif month == 4 or month == 6 or month == 9 or month == 11:print("30天")else:print("31天")
else:print("请输入正确的月份")

三、循环语句:让程序“重复做”

循环语句的核心是重复执行一段代码,Python中主要有whilefor两种,适用场景不同。

3.1 while循环:“条件满足就继续”

while擅长根据条件重复执行,只要条件为True,就会一直循环。

基础语法

while 条件表达式:循环体代码
场景1:无限循环程序(重复执行代码)

需求:让代码重复执行。

while True:  # 无限循环# 执行核心逻辑(示例:打印提示)print("\n===== 程序运行中 =====")

代码说明:while True是无限循环,请不要轻易尝试。

场景2:循环计数(按规律生成数字)
练习1:按规律输出数字
# 输出0 1 2 3
i = 0
while i <= 3:print(i, end=" ")i += 1  # 计数自增
print()# 输出2 3 4 5 6
i = 2
while i <= 6:print(i, end=" ")i += 1
print()# 输出1 3 5 7
i = 1
while i <= 7:print(i, end=" ")i += 2
print()# 输出8 7 6 5 4
i = 8
while i >= 4:print(i, end=" ")i -= 1
print()# 输出-1 -2 -3 -4 -5
i = -1
while i >= -5:print(i, end=" ")i -= 1
print()
练习2:纸张对折超珠峰

需求:纸厚0.01毫米,计算对折多少次超过珠峰(8844.43米=8844430毫米)。

thickness = 0.01  # 初始厚度(毫米)
height = 8844430   # 珠峰高度(毫米)
count = 0          # 对折次数while thickness <= height:thickness *= 2  # 对折,厚度翻倍count += 1      # 次数+1print(f"对折{count}次后,厚度{thickness:.2f}毫米,超过珠峰")

3.2 for循环:“按次数/遍历重复”

for擅长固定次数循环遍历可迭代对象(如列表、范围),语法更简洁。

基础语法

for 变量 in 可迭代对象:循环体代码

常用:range(start, end, step) 生成数字序列(左闭右开)。

场景1:按规律累加数字
# 累加0 1 2 3
sum_num = 0
for i in range(4):  # range(4)=0,1,2,3sum_num += i
print(f"0+1+2+3={sum_num}")  # 输出6# 累加2 3 4 5 6
sum_num = 0
for i in range(2, 7):  # range(2,7)=2,3,4,5,6sum_num += i
print(f"2+3+4+5+6={sum_num}")  # 输出20# 累加1 3 5 7
sum_num = 0
for i in range(1, 8, 2):  # 步长2sum_num += i
print(f"1+3+5+7={sum_num}")  # 输出16# 累加8 7 6 5 4
sum_num = 0
for i in range(8, 3, -1):  # 反向,步长-1sum_num += i
print(f"8+7+6+5+4={sum_num}")  # 输出30# 累加-1 -2 -3 -4 -5
sum_num = 0
for i in range(-1, -6, -1):sum_num += i
print(f"-1+-2+-3+-4+-5={sum_num}")  # 输出-15
场景2:纸张对折15次的厚度
thickness = 0.01  # 初始厚度
for _ in range(15):  # 固定15次循环,无需变量用_thickness *= 2
print(f"对折15次后,厚度为{thickness:.2f}毫米")  # 输出327.68毫米
场景3:猜数字(猜对结束循环)
# 1. 导入库
import random# 2. 产生随机数
random_number = random.randint(1, 100)# 3. 核心代码
count = 0
while True:input_number = int(input("请输入数字:"))count += 1if input_number > random_number:print("大了")elif input_number < random_number:print("小了")else:print(f"猜对了,一共猜了{count}次")break

3.3 while vs for:核心区别

循环类型 适用场景 示例
while 根据条件重复(不确定次数) 纸张对折到超过珠峰(次数未知)
for 固定次数重复(确定次数) 纸张对折15次(次数已知)

四、跳转语句:控制循环节奏

跳转语句用于中断/跳过循环,包括breakcontinue

4.1 break:直接跳出循环

break立即终止整个循环,循环体后续代码不再执行。

4.2 continue:跳过当前轮次

continue跳过当前轮次剩余代码,直接进入下一轮循环。

实战练习:累加1到100之间的被3整除的整数和

思路1:符合条件才累加

number = 0
for i in range(1, 101):if i % 3 == 0:number += i
print(f"思路1结果:{number}")

思路2:不符合就跳过

sum = 0
for item in range(1, 101):if item % 3 != 0:# 跳出本次循环执行下一次循环continuesum += item
print(f"思路2结果:{sum}")  # 和思路1结果一致

五、核心总结

  1. 选择语句(if-else/elif/嵌套):核心是“条件判断”,elif适合多分支互斥场景,嵌套适合多层条件筛选;
  2. 循环语句:while按“条件”循环(次数不确定),for按“次数/遍历”循环(次数确定),按需选择;
  3. 跳转语句:break终止整个循环,continue跳过当前轮次,合理使用可简化循环逻辑。
http://www.jsqmd.com/news/495558/

相关文章:

  • 零基础转行大模型,年薪 50W + 不是梦!保姆级学习路线 + 避坑指南,收藏这篇就够
  • AI分镜生成:Qwen-Image-Edit驱动的电影叙事革新
  • 2026六大城市高端腕表“闲置激活”终极档案:从无锡百达翡丽到南京积家,这些沉睡的资产正在悄悄贬值 - 时光修表匠
  • 借助 Windows CBT 挂钩实现自定义修改 MessageBox 阻塞式模态对话框中按钮的文字
  • 告别繁琐调试:用快马AI一键生成LaTeX高效排版模板与代码片段
  • 无锡芮生建设工程有限公司_一级资质防水修缮_14年专注房屋防水补漏 - 十大品牌榜单
  • AI 时代的程序员:从“建造者”到“定义者”
  • Suno音乐生成-从一个简单的提示开始,或者深入我们的专业编辑工具,您的下一首曲目就在一步之遥......
  • 2026年 铝液测氢仪厂家推荐排行榜,真空/在线/全自动/台式/移动型铝液测氢仪,铝合金氢含量检测仪专业品牌深度解析 - 品牌企业推荐师(官方)
  • 汽车洗美厂家常见问题解答(2026最新专家版) - 速递信息
  • 百心科技畅倍力复合果蔬后生元片常见问题解答(2026专家版) - 速递信息
  • 西恩士 国际认证清洁度解决方案 工业清洁度检测装置品牌典范 - 仪器权威论
  • 孝感二次消防设计机构全解析:2026年避坑指南与品牌推荐 - 2026年企业推荐榜
  • 如何打造专属音频控制中心?Seelen-UI媒体模块全攻略
  • 保姆级教程:用Qt Creator创建多工程联调开发环境(2024新版)
  • 电力能源行业:卓越性能保障电网稳定运行
  • 倍速链输送线源头厂家怎么选?搞电子和做电池的老铁们看过来
  • pid算法初学
  • 收藏!小白程序员必看:一文读懂AI大模型的核心能力与落地应用场景
  • 文档更新示例(路径:doc/README_zh.md)
  • 解决androidsutdio打开多个文件tab自动替换或者关闭问题
  • pg恢复
  • 虚幻引擎5编辑器界面全解析:从菜单栏到细节面板的保姆级指南
  • 用pyGAM搞定乳腺癌分类:从数据加载到模型调优全流程
  • 如何让技术图表绘制效率提升10倍?智能绘图工具赋能开发者与架构师
  • 2026年 温州宣传片拍摄制作推荐榜单:专业脚本策划、创意剪辑与视觉呈现一站式服务优选 - 品牌企业推荐师(官方)
  • Quartus开发中的关键文件格式解析与应用指南
  • NB-IoT物联网卡完整使用指南:从选卡到MQTT云端通信(2023最新版)
  • 实战指南:基于快马AI生成动态绑定文章数据的jiathis分享页
  • vue for cesium-初学记录-修改工具栏中鼠标放置文字提示