第3章 Python程序控制流_第1页
第3章 Python程序控制流_第2页
第3章 Python程序控制流_第3页
第3章 Python程序控制流_第4页
第3章 Python程序控制流_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Python程序控制流驾驭代码逻辑的艺术CONTENTS01条件语句:if/elif/else02循环语句:while与for03循环控制:break,continue,pass04高级技巧:推导式与三元表达式05实战案例:石头剪刀布06常见问题与调试Python编程基础|流程控制结构01条件语句:if/elif/else条件语句:基本结构if语句当条件为真时,执行缩进的代码块。ifcondition:do_something()if-else语句二选一,条件为假时执行else块。if...:...else:...if-elif-else语句多选一,执行第一个为真的代码块。if...:...elif...:...else:...注意:Python使用缩进(通常是4个空格)来定义代码块,这是语法的一部分,必须严格遵守。条件语句:什么是“真”?假值(Falsy)对象None布尔值False数值零:0,0.0空序列:'',(),[]空映射:{}代码示例#利用真值判断简化代码my_list=[]ifnotmy_list:print("列表为空")熟练运用真值判断可以让你的代码更加简洁和Pythonic。所有其他对象都被视为真值(Truthy)。02循环语句:while与for循环语句:while循环while循环会在条件为真时,重复执行循环体。语法:whilecondition:

#循环体(确保条件会更新)示例1:打印1到10i=1;whilei<=10:print(i);i+=1示例2:计算1到100的和total,n=0,1;whilen<=100:total+=n;n+=1警告:务必确保循环条件最终会变为`False`,否则会导致死循环!循环语句:for循环for循环用于遍历任何可迭代对象(如字符串、列表、元组等)。语法foriteminiterable:...代码示例遍历字符串依次输出'H','e','l','l','o'遍历列表依次输出列表中的水果名称使用range()函数生成整数序列,精确控制循环次数whilevsfor:如何选择?特性while循环for循环适用场景循环次数不确定,基于条件循环次数确定,遍历序列语法复杂度需手动初始化和更新计数器语法简洁,自动迭代控制灵活性更灵活,可任意修改条件相对固定,遍历逻辑清晰常见问题易忘记更新条件导致死循环较少,除非修改序列本身典型案例用户输入验证、服务器监听遍历列表、处理批量数据当你知道需要循环多少次,或需要遍历一个已知集合时,使用`for`循环。当你需要根据动态变化的条件来决定是否继续循环时,使用`while`循环。03循环控制:break,continue,pass循环控制:break&continuebreak:终止循环立即终止当前所在的循环,执行循环体之后的代码。#找到数字5后立即退出循环fornumin[1,2,3,4,5,6]:

ifnum==5:break

print(num)#输出:1,2,3,4continue:跳过当前立即跳过当前循环剩余部分,开始下一次循环。#打印1到10中的所有奇数foriinrange(1,11):

ifi%2==0:continue

print(i)#输出:1,3,5,7,9循环控制:pass语句pass语句定义一个空语句,什么也不做。它的作用是作为一个占位符,使代码在语法上保持完整。使用场景当你暂时不确定某个代码块里要写什么时。语法上需要语句,但逻辑上不需要执行任何操作时。代码示例#场景1:搭建代码框架

defmy_function():pass#场景2:满足语法要求

foriinrange(10):

...else:pass提示:`pass`与`...`(Ellipsis)功能类似,但`pass`是一个语句,而`...`是一个常量。在语法需要语句的地方,应该使用`pass`。04高级技巧:推导式与三元表达式高级技巧:三元表达式传统写法(4行)score=85ifscore>=60:result="及格"else:result="不及格"三元表达式(1行)score=85result="及格"ifscore>=60else"不及格"注意事项三元表达式只适用于简单的二选一逻辑。如果逻辑复杂,使用传统的if-else语句块会更易读。语法:value_if_trueifconditionelsevalue_if_false高级技巧:列表推导式简介Python中创建和转换列表的高效优雅方式,将循环和表达式结合在一个列表中。语法[expressionforiteminiterableifcondition]代码示例对比传统写法(3行)squares=[]

forxinrange(1,6):squares.append(x**2)列表推导式(1行)squares=[x**2forxinrange(1,6)]进阶示例(包含条件)even_numbers=[xforxinrange(1,11)ifx%2==0]#[2,4,6,8,10]简洁直观,代码优美,且执行效率更高。高级技巧:字典推导式语法{key:valueforiteminiterableifcondition}示例1:合并两个列表keys=['name','age','city']values=['Alice',30,'NY']person={k:vfork,vinzip(keys,values)}示例2:转换键值对original={'a':1,'b':2,'c':3}doubled={k:v*2fork,vinoriginal.items()}示例3:筛选元素my_dict={'a':1,'b':2,'c':3,'d':4}even_dict={k:vfork,vinmy_dict.items()ifv%2==0}字典推导式能极大提升处理字典数据的效率,支持合并、转换和筛选等多种操作,是Python中不可或缺的高级技巧。05实战案例:石头剪刀布实战案例:石头剪刀布游戏规则玩家vs电脑,根据传统规则判断胜负。石头(1)胜剪刀(2)剪刀(2)胜布(3)布(3)胜石头(1)完整代码实现importrandomplayer=int(input("请出拳(1/2/3):"))computer=random.randint(1,3)ifplayer==computer:print("平局!")elif...:print("你赢了!")核心知识点`whileTrue`循环实现游戏循环`if-elif-else`进行条件判断`break`&`continue`控制流程`random`模块生成随机数06常见问题与调试常见问题排查(FAQ)Q1:为什么我的循环停不下来?通常是死循环。检查循环条件确保它会变为`False`,并确认循环体内正确更新了控制变量。Q2:缩进错误(IndentationError)怎么办?Python对缩进极其严格。确保代码块使用一致的缩进(空格或Tab),切勿混用。Q3:如何在循环中正确修改列表?不要边遍历边修改。解决方案是遍历列表的副本,或创建新列表存储结果。Q4:条件判断结果不符合预期?检查比较运算符(==vs=),在判断前打印变量值,并理解Python的真值判断规则。核心调试技巧1.善用print()打印关键变量;2.分步执行代码,验证每一步结果;3.仔细检查语法和逻辑。总结&课后任务本章总结条件语句

`if`,`elif`,`else`用于实现分支逻辑。循环语句

`while`

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论