Python 3基础教程 第3章程序流程控制
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Python 3基础教程 第3章程序流程控 制
第3章 程序流程控制
通常,程序结构分为三种:顺序结构、分支 结构和循环结构。程序中的语句按照先后顺序执 行,称为顺序结构。分支结构则根据条件测试执 行不同的代码。循环结构指重复执行相同的代码。 Python用if语句实现分支结构,for和while实现 循环结构。最后本章还讲解了和循环有关系的迭 代和列表解析。
3.1.3 if…else三元表达式
3.2 for循环
在第2章迭代字符串、列表等序列时已经用到了for循环。for循环是 Python中的一个通用的序列迭代器,可以遍历序列对象中的所有对象。
本节主要讲述:
– for循环基本格式 – 多个变量迭代 – break和continue – 嵌套使用for循环
• Python在计算and运算时,总是按从左到右 的顺序计算。在找到第一个为假的对象时, 返回该对象,即使右侧还有需要计算的对象 ,计算都结束。这种计算方式称为短路计算 。如果参与运算的对象都为真,则返回最后 一个为真的对象。
• 例如:
• or运算同样执行短路计算,在找到第一个为真的 对象时,返回该对象,计算结束。例如:
5.列表解析用于字典
6.列表解析用于文件
• 列表解析用于文件时,每次从文件读取一行 数据。例如:
7.其他的列表解析应用
3.4.3 zip、map和filter
• zip、map和filter函数生成的可迭代对象均 有自己的迭代器,可使用next函数执行迭代 操作。
1.zip函数
• zip函数参数为多个可迭代对象,每次从每个可迭 代对象中取一个值组成一个元组,直到可迭代对 象中的值取完,生成的zip对象包含了一系列的元 组。例如:
本章主要内容
1
if分支结构
2 for循环
3
while循环
4
迭代和列表解析
3.1 if分支结构
Python用if语句来选择要执行的程序代码,从而实现分支结构。在if语 句内部,可以包含其他的语句,包括if语句。所以,if语句是目前接触到的 第一个复合语句。
本节主要讲述:
– if语句基本结构 – 真值测试 – if…else三元表达式
3.2.1 for中基本结构
• for循环基本格式如下:
• else部分可以省略。for执行时,依次将可迭代对象object 中的值赋值给变量var。var每赋值一次,则执行一次循环 体语句块。循环执行结束时,如果有else部分,则执行对 应的语句块。else部分只在正常结束循环时执行。如果用 break跳出循环,则不会执行else部分。
• 例如:
3.2.2 多个变量迭代
3.2.3 break和continue
• break语句用于跳出当前循环,即提前结束 循环(包括跳过else)。continue则用于跳 过循环体剩余语句,回到循环开头开始下一 次迭代。
• 例如,下面的代码用for循环找出100~999范 围内的前10回文数字——3位数中个位和百 位相同的数字为回文数字:
本节主要讲述:
– while循环基本结构 – 嵌套使用while循环
3.3.1 while循环基本结构
• while循环基本结构如下:
• 与for循环类似,可在循环体中使用break和 continue语句。else部分可以省略。
3.3.2 嵌套使用while循环
• Python允许在while循环的内部使用while循 环。例如,下面的代码输出九九乘法表:
3.4 迭代和列表解析
迭代操作和列表解析均以循环为背景,意味中按顺序处理可迭代对象中 的元素。
本节主要讲述:
– 迭代 – 列表解析 – zip、map和filter
3.4.1 迭代
• Python中的各种序列(字符串、列表、元组、字 典以及文件等)均可作为可迭代对象,可迭代对 象可以使用迭代器来遍历包含的元素。
都为假
– 比较和相等测试返回True(真)或False(假) – 逻辑运算and和or会返回参与运算的真或假的对
象。
1.比较和相等测试
• 比较和相等测试总是返回True或False。例 如:
2.not运算
• not运算返回True或False。例如:
3.and和or
• and和or运算符总是返回参与运算的对象, 而不是True或False
3.4.2 列表解析
1.带条件的列表解析
• 可以在列表解析结构末尾使用if头部来执行 筛选。例如:
2.多重解析嵌套
• 与for循环类似,在列表解析中也可在for部 分进行嵌套。例如:
• 对嵌套的解析,也可分别使用if执行筛选。 例如:
3.列表解Hale Waihona Puke Baidu用于元组
4.列表解析用于集合
5.列表解析用于字典
• 字符串、列表、元组以及字典等对象虽然是可迭 代对象,但它们没有自己的迭代器。
• Python使用iter()函数来生成可迭代对象的迭代 器,然后对迭代器调用next()函数来遍历对象。 next()函数next()函数依次返回可迭代对象的一 个元素,无元素返回时,会产生一个 StopIteration异常。
• 双分支if语句由if和else两部分组成。例如:
3.多分支if语句
• 多分支if语句由if、一个或多个elif和else 部分组成,else部分可省略。例如:
3.1.2 真值测试
• Python与C/C++在处理真值和逻辑运算的方 式上有所不同。在Python中:
– 任何非0数字和非空对象都为真。 – 数字0、空对象(如空列表[]、空字典{})None
3.2.4 嵌套使用for循环
• Python允许嵌套使用for循环,即在for循环 内部使用for循环。例如,下面的代码输出 100以内的素数——除了1和它本身之外不能 被其他数整除的数是素数:
3.3 while循环
while循环在测试条件为真时执行循环体,也称为“当型循环”。如果测 试条件一开始就为假,则不会执行循环体。
3.1.1 if语句基本结构
• 根据Python缩进规则,if、elif和else必须对齐,以表 示它们是同一个语句。
• 各个语句块中的代码同样必须对齐。 • elif和else都可以省略,可以有多个elif。
1.简单if语句
• 最简单的if语句不包含elif和else。例如:
2.双分支if语句
第3章 程序流程控制
通常,程序结构分为三种:顺序结构、分支 结构和循环结构。程序中的语句按照先后顺序执 行,称为顺序结构。分支结构则根据条件测试执 行不同的代码。循环结构指重复执行相同的代码。 Python用if语句实现分支结构,for和while实现 循环结构。最后本章还讲解了和循环有关系的迭 代和列表解析。
3.1.3 if…else三元表达式
3.2 for循环
在第2章迭代字符串、列表等序列时已经用到了for循环。for循环是 Python中的一个通用的序列迭代器,可以遍历序列对象中的所有对象。
本节主要讲述:
– for循环基本格式 – 多个变量迭代 – break和continue – 嵌套使用for循环
• Python在计算and运算时,总是按从左到右 的顺序计算。在找到第一个为假的对象时, 返回该对象,即使右侧还有需要计算的对象 ,计算都结束。这种计算方式称为短路计算 。如果参与运算的对象都为真,则返回最后 一个为真的对象。
• 例如:
• or运算同样执行短路计算,在找到第一个为真的 对象时,返回该对象,计算结束。例如:
5.列表解析用于字典
6.列表解析用于文件
• 列表解析用于文件时,每次从文件读取一行 数据。例如:
7.其他的列表解析应用
3.4.3 zip、map和filter
• zip、map和filter函数生成的可迭代对象均 有自己的迭代器,可使用next函数执行迭代 操作。
1.zip函数
• zip函数参数为多个可迭代对象,每次从每个可迭 代对象中取一个值组成一个元组,直到可迭代对 象中的值取完,生成的zip对象包含了一系列的元 组。例如:
本章主要内容
1
if分支结构
2 for循环
3
while循环
4
迭代和列表解析
3.1 if分支结构
Python用if语句来选择要执行的程序代码,从而实现分支结构。在if语 句内部,可以包含其他的语句,包括if语句。所以,if语句是目前接触到的 第一个复合语句。
本节主要讲述:
– if语句基本结构 – 真值测试 – if…else三元表达式
3.2.1 for中基本结构
• for循环基本格式如下:
• else部分可以省略。for执行时,依次将可迭代对象object 中的值赋值给变量var。var每赋值一次,则执行一次循环 体语句块。循环执行结束时,如果有else部分,则执行对 应的语句块。else部分只在正常结束循环时执行。如果用 break跳出循环,则不会执行else部分。
• 例如:
3.2.2 多个变量迭代
3.2.3 break和continue
• break语句用于跳出当前循环,即提前结束 循环(包括跳过else)。continue则用于跳 过循环体剩余语句,回到循环开头开始下一 次迭代。
• 例如,下面的代码用for循环找出100~999范 围内的前10回文数字——3位数中个位和百 位相同的数字为回文数字:
本节主要讲述:
– while循环基本结构 – 嵌套使用while循环
3.3.1 while循环基本结构
• while循环基本结构如下:
• 与for循环类似,可在循环体中使用break和 continue语句。else部分可以省略。
3.3.2 嵌套使用while循环
• Python允许在while循环的内部使用while循 环。例如,下面的代码输出九九乘法表:
3.4 迭代和列表解析
迭代操作和列表解析均以循环为背景,意味中按顺序处理可迭代对象中 的元素。
本节主要讲述:
– 迭代 – 列表解析 – zip、map和filter
3.4.1 迭代
• Python中的各种序列(字符串、列表、元组、字 典以及文件等)均可作为可迭代对象,可迭代对 象可以使用迭代器来遍历包含的元素。
都为假
– 比较和相等测试返回True(真)或False(假) – 逻辑运算and和or会返回参与运算的真或假的对
象。
1.比较和相等测试
• 比较和相等测试总是返回True或False。例 如:
2.not运算
• not运算返回True或False。例如:
3.and和or
• and和or运算符总是返回参与运算的对象, 而不是True或False
3.4.2 列表解析
1.带条件的列表解析
• 可以在列表解析结构末尾使用if头部来执行 筛选。例如:
2.多重解析嵌套
• 与for循环类似,在列表解析中也可在for部 分进行嵌套。例如:
• 对嵌套的解析,也可分别使用if执行筛选。 例如:
3.列表解Hale Waihona Puke Baidu用于元组
4.列表解析用于集合
5.列表解析用于字典
• 字符串、列表、元组以及字典等对象虽然是可迭 代对象,但它们没有自己的迭代器。
• Python使用iter()函数来生成可迭代对象的迭代 器,然后对迭代器调用next()函数来遍历对象。 next()函数next()函数依次返回可迭代对象的一 个元素,无元素返回时,会产生一个 StopIteration异常。
• 双分支if语句由if和else两部分组成。例如:
3.多分支if语句
• 多分支if语句由if、一个或多个elif和else 部分组成,else部分可省略。例如:
3.1.2 真值测试
• Python与C/C++在处理真值和逻辑运算的方 式上有所不同。在Python中:
– 任何非0数字和非空对象都为真。 – 数字0、空对象(如空列表[]、空字典{})None
3.2.4 嵌套使用for循环
• Python允许嵌套使用for循环,即在for循环 内部使用for循环。例如,下面的代码输出 100以内的素数——除了1和它本身之外不能 被其他数整除的数是素数:
3.3 while循环
while循环在测试条件为真时执行循环体,也称为“当型循环”。如果测 试条件一开始就为假,则不会执行循环体。
3.1.1 if语句基本结构
• 根据Python缩进规则,if、elif和else必须对齐,以表 示它们是同一个语句。
• 各个语句块中的代码同样必须对齐。 • elif和else都可以省略,可以有多个elif。
1.简单if语句
• 最简单的if语句不包含elif和else。例如:
2.双分支if语句