【Python】4.Python流程控制

📅 2026/7/10 15:56:22
【Python】4.Python流程控制
Python 流程控制 关键要点速览来自高亮标注elif 是 else if 的缩写—elif替代其他语言的else if用于多分支条件判断缩进表示代码块— Python 使用 4 空格缩进而非大括号来划分代码块这是其最独特的语法条件语法对比— Python 与 C/Java 在条件语法上的关键差异缩进、冒号、elif一、顺序执行默认情况下Python 代码从上到下依次执行print(11)# 先执行print(22)# 再执行print(333)# 最后执行计算机是铁憨憨交给它的任务必须清楚、明确、无歧义。确定的执行顺序是保证程序正确的大前提。二、条件判断2.1 为什么需要条件仅有顺序执行远远不够我们需要程序能根据条件做出不同选择。条件语句也称分支语句能够表达如果……否则……的语义如果条件成立- 走向 A 否则 - 走向 B条件语句让程序有了判断能力——CPU 不仅能做算术运算还能做逻辑判断。2.2if语句if条件:条件成立时执行的代码score85ifscore60:print(及格了)# 只有条件为 True 时才执行print(这句话总会执行)2.3if-else语句if条件:条件为真时执行else:条件为假时执行age17ifage18:print(已成年)else:print(未成年)2.4if-elif-else语句多分支if条件1:条件1成立时执行elif条件2:条件2成立时执行条件1不成立elif条件3:条件3成立时执行条件1和2不成立else:以上条件均不成立时执行elif是else if的缩写。三、缩进与代码块3.1 缩进表示代码块Python 使用缩进通常 4 个空格来划分代码块这是 Python 最独特的语法之一ainput(请输入一个整数)ifa1:print(aa)# 缩进 → 属于 if 块print(bb)# 同一缩进 → 同属 if 块print(cc)# 无缩进 → 与 if 无关总会执行条件成立时打印aa、bb、cc条件不成立时只打印cc3.2 缩进不对 语法错误# 错误if 后面必须跟一个缩进块ifa1:print(aa)# IndentationError: expected an indented block# 错误同一代码块缩进不一致ifa1:print(aa)print(bb)# IndentationError: unexpected indent正确做法同一代码块的缩进必须一致。3.3 嵌套缩进缩进可以嵌套多层每一层表示更深一级的代码块ainput(请输入第一个整数)binput(请输入第二个整数)ifa1:ifb2:print(aaa)# 两级缩进 → 两层 if 都成立才执行print(bbb)# 一级缩进 → 仅外层 if 成立即执行print(ccc)# 无缩进 → 总会执行输入 a输入 b输出12aaabbbccc13bbbccc2任意值ccc嵌套层次过深会降低代码可读性——有人调侃 Python 程序员要自备游标卡尺测量缩进长度。实际开发中应避免深层嵌套。四、实践案例4.1 奇偶数判定numberint(input(请输入一个整数))ifnumber%20:print(偶数)else:print(奇数)注意input()返回的是字符串必须先通过int()转换为整数才能使用%求余。4.2 用户选择逻辑实现一个简单的互动程序——用户选择认真学习或躺平摆烂choiceinput(请输入你的选择1-认真学习 / 2-躺平摆烂)ifchoice1:print( 认真学习 → 找到好工作)elifchoice2:print( 躺平摆烂 → 毕业即失业)else:print(⚠️ 您的输入有误请输入 1 或 2。)永远要考虑非法输入。用户可能输入任何内容包括3、100、abc等对预期之外的情况必须做出处理。五、Python vs C/Java 条件语法对比特性PythonC / Java括号条件不需要括号条件必须用()包裹冒号条件后加:表示结束无冒号代码块缩进表示代码块{}大括号表示代码块else if缩写为elifelse if两个单词缩进要求硬性要求缩进不对无法运行软性规范不影响编译# Python 写法ifscore60:print(及格)elifscore90:print(优秀)else:print(不及格)// C 写法对比if(score60){cout及格endl;}elseif(score90){cout优秀endl;}else{cout不及格endl;}虽然其他语言对缩进没有硬性要求但好的编程习惯要求在任何语言中都保持缩进规范统一。要点速查概念说明示例顺序执行代码默认从上到下执行—if单分支条件if x 0:if-else双分支条件if x 0: ... else: ...if-elif-else多分支条件if x 0: ... elif x 0: ... else: ...elifelse if的缩写替代其他语言的else if缩进表示代码块Python 独特语法通常 4 空格缩进级别决定所属代码块IndentationError缩进错误导致缩进不一致或不正确嵌套缩进深层条件嵌套应避免过多嵌套类型转换 条件input 返回 str需转换再判断int(input(...))非法输入处理永远考虑用户输入超出预期else分支捕获非法情况