三,程序流程控制之顺序结构、分支结构与循环结构

程序结构

程序的执行顺序是通过一些流程结构来控制的

程序的运行是通过计算机一行一行的执行代码来完成的,按顺序一条条执行是程序最基本的结构,但是有时候顺序执行不能完成所有的功能。计算机中有三大基本结构:

顺序结构

分支结构

循环结构

1,顺序结构

顺序结构是程序的基本结构,它会从上往下依次执行

2,分支结构

分支结构是程序根据条件结果来判断,从而选择不同的代码向前执行的一种方式,也叫条件分支

分支结构包括:单分支、二分支和多分支

2.1单分支

在Python中单分支通过if语句来实现

if <条件>:

  代码块

注意条件表达式后面要紧跟冒号

代码块为一行或多行代码

代码块前要有缩进,跟if形成包含关系

标准缩进为TAB键或者四个空格

执行标准:

当条件表达式结果为True时,则执行代码块的代码,为False时,则跳过代码块

if中包含的代码块执行依赖于条件表达式的结果,但是无论是否执行都会继续往下执行与if同级的下一条代码

2.2二分支

二分支结构用if  else 来实现

if <条件>:

  代码块1

else:

  代码块2

代码块1是在条件结果为True时执行的一条或多条代码,代码块2是条件为False执行的一条或多条代码

注意else与if同级,并紧跟冒号

代码块2前也必须有缩进,跟else形成包含关系

二分支用于区分条件的两种可能性,分别形成执行路径

三目运算

二分支有一种更简洁的表达方式,语法格式如下:

<表达式1> if <条件> else <表达式2>

当条件结果为True时执行表达式1,为False时,执行表达式2

适合代码块为1行代码时,这种表达方式也叫三目运算,用于简单的条件判断

2.3多分支

多分支通过if-elif-else来表达,语法格式如下

if <条件1>:

  代码块1

elif <条件2>:

  代码块2

...

else:

  代码块3

多分支为二分支的延伸,用于多个条件多个执行路径的情况。计算机依次执行条件判断,寻找第一个结果为True的条件,然后执行该条件下的代码块,结束后跳过整个if-elif-else多分支结构,执行下面的代码。若没有条件为True,则执行else下的代码块,并且else是可选的,即可以没有else语句

3,循环结构

3.1条件循环

Python中条件循环用while来实现,也叫while循环,语法格式如下

while <条件>:

  代码块

while空格后跟条件表达式,紧跟冒号,代码块前需要有缩进,跟while形成包含关系

先执行条件表达式,当结果为True时则执行代码块内容,然后继续循环回去执行条件表达式,若为True,则又执行代码块,直到条件结果为False时,停止循环

当条件结果恒为True时,形成无线循环,也叫死循环,需要小心使用

3.2遍历循环

Python中遍历循环用for来实现,也叫for循环,迭代循环,语法格式如下

for <循环变量> in <遍历结构>:

  代码块

关键字for+空格+循环变量+空格+变量in+空格+遍历结构冒号,代码块前加缩进,与for形成包含关系

for循环会依次取出遍历结构中的每一个元素,然后把它赋值给循环变量,然后执行代码块,每次遍历都会执行代码块,直到取完遍历结构中的每一个元素

所有可迭代对象都可以作为遍历结果进行for循环

基本数据类型中的序列数据类型和散列数据类型都可以进行迭代

迭代器iterator

迭代器是一个可以记住遍历位置的对象。for循环本质上就是通过迭代器来实现的。

通过内建函数iter可以创建迭代器。iter('abc')

不是所有数据类型都可以创建迭代器,凡是能创建的,被称为可迭代对象,反之则是不可迭代对象。

range函数

内建函数range可以创建输出整数序列的迭代器。

range(start,stop,step)

range(a,b)生成a,a+1,a+2...b-1,start默认为0当给定step时,它指定增长步长

for循环经常跟range搭配使用,限定循环次数

for i in range(10):

  代码块

循环十次

3.3循环控制关键字

break 跳出当前循环

continue 跳出本次循环

else关键字

else可以搭配循环结构使用,来检测循环是正常结束还是break掉了

for i in range(10):

  if i %2 == 0:

    continue

  print(i)

else:

  print("循环正常结束")

结果为0 2 4 6 8 循环正常结束

for i in range(10):

  if i %2 == 0:

    break

  print(i)

else:

  print("循环正常结束")

结果为0

当循环正常结束时,则执行else下的代码,否则不执行

 

posted @ 2020-06-03 01:57  xf小凡  阅读(1251)  评论(0编辑  收藏  举报