02-Python控制结构

前言

控制结构是 Python 编程的核心骨架,任何复杂程序都离不开三大基础结构:顺序、分支、循环。本文从核心概念、语法细节到实战案例,全方位拆解 Python 控制结构,适合零基础入门者系统学习,也可作为进阶者的查漏补缺手册~

零、必背核心知识点

1. 三大语句结构定义

  • 顺序结构:代码默认执行逻辑,从上往下逐行执行,无跳转。
  • 分支结构:根据条件真假决定代码走向,实现 “选择执行”。
  • 循环结构:让指定代码块重复执行,直到满足结束条件。

2. 关键运算符(控制结构必备)

运算符类型具体符号 & 说明示例
算术运算符+(加)、-(减)、*(乘)、/(除)、//(取整)、%(取余)、**(幂运算)2**3=8、7//2=3、7%2=1
赋值运算符=(基础赋值)、+=、-=、*= 等复合赋值x +=1 等价于 x = x +1
比较运算符==(等于)、!=(不等于)、>、<、>=、<=3>5→False、6==6→True
逻辑运算符and (与)、or (或)、not (非)age>18 and score>=60(同时满足)

3. 循环核心原则

  • 循环次数明确 → 优先用for循环
  • 循环次数不明确 → 优先用while循环
  • break:跳出最近一层循环(直接结束循环)
  • continue:结束本次循环(跳过后续代码,直接进入下一次)

4. 嵌套循环本质

  • 外层循环执行 1 次,内层循环完整执行 1 轮
  • 打印图形场景:外层控制行数,内层控制列数

一、分支结构(选择执行逻辑)

分支结构的核心是 “根据条件判断,执行不同代码块”,分为 4 种常见形式:

1. 单分支结构(满足条件才执行)

语法格式:

python

运行

if 条件表达式: 代码块 # 条件为True时执行,注意缩进(4个空格)
执行流程:

判断if后表达式真假 → 真则执行代码块,假则跳过代码块。

示例:

python

运行

score = 85 if score >= 60: print("成绩及格") # 输出:成绩及格

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

if 条件表达式: 代码块1 # 条件为True时执行 else: 代码块2 # 条件为False时执行
执行流程:

条件真 → 执行代码块 1;条件假 → 执行代码块 2,二者必选其一。

示例:
age = 17 if age >= 18: print("已成年") else: print("未成年") # 输出:未成年

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

语法格式:
if 条件表达式1: 代码块1 elif 条件表达式2: 代码块2 elif 条件表达式3: 代码块3 ... else: 代码块n # 所有条件都为假时执行
执行流程:
  • 依次判断条件,只要有一个条件为真,执行对应代码块后直接退出分支(后续条件不再判断)
  • 所有条件都为假时,执行else代码块
示例:
score = 75 if score >= 90: print("优秀") elif score >= 80: print("良好") elif score >= 60: print("及格") # 输出:及格 else: print("不及格")

4. 分支嵌套(条件叠加判断)

定义:

分支语句的代码块中包含另一个分支,用于处理 “多条件叠加” 场景。

语法格式:
if 条件1: if 条件2: 代码块1 # 条件1和条件2都为真时执行 else: 代码块2 # 条件1真、条件2假时执行 else: 代码块3 # 条件1假时执行
示例:
age = 20 has_id = True if age >= 18: if has_id: print("可进入网吧") # 输出:可进入网吧 else: print("需出示身份证") else: print("未成年禁止进入")

二、循环结构(重复执行逻辑)

循环结构用于让指定代码块重复执行,Python 中主要有for循环和while循环两种。

1. for 循环(适合确定循环次数)

语法格式:
for 变量 in 可迭代对象: 代码块 # 每次取一个元素赋值给变量,执行一次代码块
关键说明:
  • 可迭代对象:列表、字符串、range()函数等
  • range()函数用法:
    • range(n):生成 0~n-1 的整数序列(如range(5)→[0,1,2,3,4])
    • range(a,b):生成 a~b-1 的整数序列(如range(1,5)→[1,2,3,4])
    • range(a,b,step):步长为 step 的整数序列(如range(1,10,2)→[1,3,5,7,9])
执行流程:

从可迭代对象中逐个取元素赋值给变量 → 执行代码块 → 元素取完后循环结束。

示例 1:遍历列表
fruits = ["苹果", "香蕉", "橙子"] for fruit in fruits: print(f"我喜欢吃{fruit}") # 输出: # 我喜欢吃苹果 # 我喜欢吃香蕉 # 我喜欢吃橙子
示例 2:遍历字符串
str = "Python" for char in str: print(char) # 输出:P y t h o n(逐行输出)

2. while 循环(适合不确定循环次数)

语法格式:
while 循环条件: 代码块 # 条件为True时执行,执行后重新判断条件
关键说明:
  • 循环条件:必须是返回布尔值(True/False)的表达式
  • 注意避免 “死循环”:循环体中需有改变条件的代码(如变量自增 / 自减)
执行流程:

判断循环条件 → 真则执行代码块 → 再次判断条件 → 假则循环结束。

示例 1:基础用法(循环 10 次)
i = 0 while i < 10: print(f"循环第{i+1}次") i += 1 # 改变循环条件,避免死循环
示例 2:不确定次数(直到输入正确)
password = "123456" input_pwd = "" while input_pwd != password: input_pwd = input("请输入密码:") print("密码正确,登录成功!")

3. 循环控制关键字(break & continue)

1)break:跳出最近一层循环
# 示例:找到数字5后退出循环 for i in range(10): if i == 5: break print(i) # 输出:0 1 2 3 4
2)continue:跳过本次循环,进入下一次
# 示例:跳过偶数,打印奇数 for i in range(10): if i % 2 == 0: continue print(i) # 输出:1 3 5 7 9

4. 循环嵌套(多层重复执行)

核心原则:

外层循环执行 1 次,内层循环完整执行 1 轮。

关键技巧:
  • 打印图形时:外层控制行数,内层控制列数
  • 不换行打印:print("内容", end="")(默认 end="\n" 换行)
案例 1:打印等腰三角形(4 行)
# 外层for循环:控制行数(i=1~4) for i in range(1, 5): # 内层循环1:打印前置空格(让三角形居中) for j in range(1, 5 - i): print(" ", end="") # 内层循环2:打印星号(每行星号数=2i-1) for k in range(1, 2 * i): print("*", end="") # 每行结束后换行 print("")
执行结果:
* *** ***** *******
案例 2:打印九九乘法表
# 外层循环:控制行数(i=1~9,代表被乘数) for i in range(1, 10): # 内层循环:控制每行式子数量(j=1~i,代表乘数) for j in range(1, i + 1): # 制表符\t保证对齐,end=""不换行 print(f"{j}*{i}={i*j}", end="\t") # 每行结束后换行 print("")
执行结果:
1*1=1 1*2=2 2*2=4 1*3=3 2*3=6 3*3=9 1*4=4 2*4=8 3*4=12 4*4=16 1*5=5 2*5=10 3*5=15 4*5=20 5*5=25 1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64 1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81

三、常见问题与注意事项

  1. 缩进问题:Python 用缩进(4 个空格)区分代码块,分支和循环的代码块必须缩进,否则报错。
  2. 死循环while循环需确保条件能变为 False(如变量自增),否则会无限循环。
  3. 分支判断顺序:多分支结构中,条件范围大的要放在后面(如score>=60不能放在score>=80前面)。
  4. 嵌套循环效率:嵌套层数越多效率越低,尽量控制在 2-3 层内。

总结

Python 控制结构是编程的基础核心,掌握 “顺序 + 分支 + 循环” 的组合用法,就能实现大部分业务逻辑。本文通过 “概念 + 语法 + 示例 + 案例” 的形式,覆盖了控制结构的所有核心知识点,新手可先理解基础语法,再通过案例实操巩固(建议亲手运行代码,观察执行结果)。

如果有疑问或补充,欢迎在评论区交流~ 觉得有用的话,记得点赞收藏哦!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1144298.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

中文情感分析系统优化:StructBERT性能提升

中文情感分析系统优化&#xff1a;StructBERT性能提升 1. 背景与挑战&#xff1a;中文情感分析的现实需求 在社交媒体、电商评论、客服对话等场景中&#xff0c;用户生成内容&#xff08;UGC&#xff09;呈爆炸式增长。如何从海量中文文本中自动识别情绪倾向&#xff0c;成为…

中文情感分析保姆级教程:StructBERT WebUI搭建

中文情感分析保姆级教程&#xff1a;StructBERT WebUI搭建 1. 引言 1.1 中文情感分析的应用价值 在当今信息爆炸的时代&#xff0c;用户每天在社交媒体、电商平台、评论区等场景中产生海量的中文文本数据。如何从这些非结构化文本中提取有价值的情绪倾向&#xff0c;成为企业…

黑客AI对抗实录:云端攻防沙箱按分钟计费

黑客AI对抗实录&#xff1a;云端攻防沙箱按分钟计费 1. 什么是AI对抗沙箱&#xff1f; 想象一下你正在观看一场虚拟的"黑客奥运会"——攻击方AI不断尝试突破防线&#xff0c;防御方AI则实时拦截各种入侵行为。这种攻防演练需要特殊的训练场&#xff0c;这就是AI对抗…

AI SRE 不聪明?真正拖后腿的不是模型,而是你的可观测性体系

本文字数&#xff1a;12964&#xff1b;估计阅读时间&#xff1a;33 分钟作者&#xff1a;Manveer Chawla本文在公众号【ClickHouseInc】首发TL;DRAI SRE 出问题&#xff0c;原因在于数据缺失&#xff0c;而不是智商不够。大多数系统之所以无法定位根因&#xff0c;是因为它们构…

StructBERT轻量CPU版部署:快速入门指南

StructBERT轻量CPU版部署&#xff1a;快速入门指南 1. 引言 1.1 中文情感分析的应用价值 在当今信息爆炸的时代&#xff0c;用户每天产生海量的中文文本数据——从社交媒体评论、电商平台评价到客服对话记录。如何从中自动识别情绪倾向&#xff0c;成为企业提升用户体验、优…

StructBERT部署指南

StructBERT部署指南&#xff1a;中文情感分析服务&#xff08;WebUI API&#xff09; 1. 背景与应用场景 在当前自然语言处理&#xff08;NLP&#xff09;的实际落地中&#xff0c;中文情感分析已成为客服系统、舆情监控、用户反馈挖掘等场景的核心能力之一。传统方法依赖规…

03.Python列表

前言 列表&#xff08;List&#xff09;是 Python 中最灵活、最常用的数据结构之一&#xff0c;作为有序可变序列&#xff0c;它能存储不同类型的数据&#xff0c;支持增删改查等丰富操作&#xff0c;是处理批量数据的核心工具。本文从基础概念到实战案例&#xff0c;全方位拆…

AI智能侦测全家桶:20+工具预集成,比单独部署省3周

AI智能侦测全家桶&#xff1a;20工具预集成&#xff0c;比单独部署省3周 引言&#xff1a;安全团队的效率革命 想象一下&#xff0c;你刚加入一个新成立的安全团队&#xff0c;成员来自五湖四海&#xff1a;有人习惯用Python写脚本分析日志&#xff0c;有人坚持用Go开发检测工…

StructBERT情感分析在客户体验优化中的应用案例

StructBERT情感分析在客户体验优化中的应用案例 1. 中文情感分析&#xff1a;连接用户声音与业务决策的桥梁 在数字化服务日益普及的今天&#xff0c;企业每天都会收到来自社交媒体、客服对话、用户评论等渠道的海量中文文本数据。如何从这些非结构化信息中快速识别用户情绪&…

专科生必备9个降AI率工具,高效避坑指南!

专科生必备9个降AI率工具&#xff0c;高效避坑指南&#xff01; AI降重工具&#xff0c;专科生的高效避坑利器 在当前高校论文评审日益严格的背景下&#xff0c;越来越多的专科生开始关注“论文降AIGC率、去AI痕迹、降低查重率”这一核心问题。随着AI写作工具的普及&#xff0c…

中文情感分析WebUI开发:StructBERT实战

中文情感分析WebUI开发&#xff1a;StructBERT实战 1. 背景与需求&#xff1a;为什么需要中文情感分析&#xff1f; 在社交媒体、电商评论、用户反馈等场景中&#xff0c;海量的中文文本数据蕴含着丰富的情绪信息。如何自动识别这些文本的情感倾向——是正面赞扬还是负面抱怨…

没独显如何跑AI智能体?云端方案学生党也能承受

没独显如何跑AI智能体&#xff1f;云端方案学生党也能承受 引言&#xff1a;当毕业论文遇上显卡危机 计算机专业的小张最近遇到了头疼事——他的毕业论文需要测试AI智能体在不同场景下的性能表现&#xff0c;但手头的游戏本显卡&#xff08;GTX 1650 4GB显存&#xff09;跑不…

中文文本情感分类实战:StructBERT模型调优技巧

中文文本情感分类实战&#xff1a;StructBERT模型调优技巧 1. 引言&#xff1a;中文情感分析的现实挑战与技术演进 在社交媒体、电商评论、客服对话等场景中&#xff0c;用户生成内容&#xff08;UGC&#xff09;呈爆炸式增长。如何从海量中文文本中自动识别情绪倾向&#xf…

近似数的思考学习

近似数的发展历史有多少年了&#xff1f;近似数的实际应用意义&#xff1f;近似数提现的伟大数学思想是什么&#xff1f; 目录一、 近似数的发展历史&#xff1a;**超5000年的人类智慧积累**二、 近似数的实际应用意义&#xff1a;**没有近似数&#xff0c;就没有现代文明**三、…

AI安全认证备考包:真题环境一键还原,省下万元培训费

AI安全认证备考包&#xff1a;真题环境一键还原&#xff0c;省下万元培训费 1. 为什么需要AI安全认证备考包&#xff1f; 准备CISSP-ISSAP这类高级安全认证时&#xff0c;最大的痛点就是实验环境搭建。官方推荐的设备动辄上万元&#xff0c;而考试中又要求考生能够熟练操作特…

中文情感分析模型解析:StructBERT技术详解

中文情感分析模型解析&#xff1a;StructBERT技术详解 1. 引言&#xff1a;中文情感分析的技术价值与挑战 1.1 情感分析在NLP中的核心地位 自然语言处理&#xff08;NLP&#xff09;领域中&#xff0c;情感分析&#xff08;Sentiment Analysis&#xff09;是理解用户意图、挖…

StructBERT轻量级部署:中文情感分析指南

StructBERT轻量级部署&#xff1a;中文情感分析指南 1. 中文情感分析的应用价值与挑战 在当今数字化时代&#xff0c;用户生成内容&#xff08;UGC&#xff09;如评论、弹幕、社交媒体帖子等呈爆炸式增长。如何从海量中文文本中自动识别情绪倾向&#xff0c;成为企业舆情监控…

StructBERT情感分析在品牌舆情监测中的实战应用

StructBERT情感分析在品牌舆情监测中的实战应用 1. 引言&#xff1a;中文情感分析的现实需求与挑战 在数字化时代&#xff0c;品牌声誉管理已成为企业运营的核心环节之一。随着社交媒体、电商平台和用户评论系统的普及&#xff0c;消费者每天产生海量的中文文本数据——从微博…

神经网络可视化技术:大环游方法详解

利用大环游可视化神经网络 大环游实战。此可视化展示了神经网络在MNIST数据集上训练时&#xff0c;其最后一层&#xff08;10维&#xff09;的行为。利用此技术&#xff0c;可以观察到有趣的训练行为。例如&#xff0c;网络似乎以近乎不连续的方式学习分类数字 1 和 7&#xff…

删除伪代码中无用的函数返回值

请看以下由IDA生成的伪代码&#xff1a;请看以下由IDA生成的伪代码&#xff1a;_BYTE *result; // eaxresult a4;//此处省略*((_DWORD *)a6 17) a5[14];*((_DWORD *)a6 18) a5[15];*((_DWORD *)a6 19) a5[16];*((_DWORD *)a6 20) a5[17];*((_DWORD *)a6 21) a5[18];…