2.5 程序流程控制
2017-07-09 13:51
204 查看
流程控制是指在程序设计中控制完成某种功能的次序,只有按正确的次序执行代码才能完成指定的任务。Python程序语言有三种基本流程控制结构,即顺序结构、选择结构和循环结构。
程序运行结果:
程序通过一个中间变量tmp实现了x和y值的互换。
示例代码:
执行该结构时,首先对表达式的值进行判断。如果表达式的值为True,则执行其后的语句块,然后执行if语句的后续语句。若值为False,则直接执行if语句的后续语句。
注意:
在if语句的表达式后面必须加冒号。
因为Python把非0当成真(True),0当成假(False),所以表示条件的表达式不一定必须是结果为True或False的关系表达式或逻辑表达式,可以是任意表达式。
if语句中的语句块必须向后缩进。当包含两个或两个以上语句块时,语句必须缩进一致。若缩进不一致,则语句含义就不同了。
如果语句块中只有一条语句,if语句也可以写在同一行。
执行该结构时,首先对表达式的值进行判断。如果表达式的值为True,则执行语句块1;否则执行语句块2。示例代码:
当表达式1的值为True时,执行语句块1,否则求表达式2的值;为True时,执行语句2,否则处理表达式3,以此类推。若表达式值都为False,则执行else后面的语句n。示例代码:
格式一:
格式二:
根据对齐格式来确定if语句之间的逻辑关系。在第一种格式中,else与第二个if配对。在第二种格式中,else与第一个if配对。Python语言的缩进格式,增强了程序的可读性,也代表了else和if的逻辑配对关系。示例代码:
Python提供了while语句和for语句来实现循环结构。
当执行while语句时,先对表达式进行计算,若值为True(非0),则执行循环体语句;否则跳过循环体语句,执行while结构后面的语句。每执行完一次循环体语句,都对表达式进行一次计算和判断,直到表达式值为False,跳出循环体。示例代码:
注意,如果表达式永远为True,循环将会无限地执行下去形成死循环。在循环体内必须有修改表达式值的语句,使其趋向False,避免无限循环。
for语句的一般格式,如下:
for语句将序列对象中的元素逐个赋给目标变量,对每一次赋值都执行一遍循环体语句块。当序列被遍历,即每一个元素都用过了,则循环结束。
遍历列表,示例代码:
遍历字符串,示例代码;
遍历元组,示例代码:
遍历列表,用于for循环时,元组和列表作用完全一样。示例代码:
如果需要遍历一个
ac60
数字序列,可以使用range对象。示例代码:
break语句用在循环体内,可使程序中途退出循环结构,从而执行循环体后面的语句。break语句通常与if语句一起使用,以便满足条件时跳出循环。示例代码:
程序运行结果如下:
continue语句的作用是跳过循环中剩余的语句,强行执行下一次循环。continue语句常与if条件语句一起使用,用来加速循环。示例代码:
程序运行结果如下:
continue语句和break语句的主要区别:continue语句只结束本次循环,而不是终止整个循环的执行。break语句则是结束所在循环,跳出所在循环体。
2.5.1 顺序结构
用Python语言编写程序时,实现顺序结构的方法非常简单,只需要将语句顺序排列即可。示例代码:x, y = 3, 5 tmp = x x = y y = tmp print(x, y)
程序运行结果:
5, 3
程序通过一个中间变量tmp实现了x和y值的互换。
2.5.2 选择结构
选择结构也称为分支结构,它根据给定的条件是否满足,决定程序的执行路线。Python提供if语句来实现单分支、双分支和多分支选择结构。1. 单分支选择结构
单分支if语句的一般格式:if 表达式: 语句块
示例代码:
x ,y = 10, 100 if x > y: x-- y++
执行该结构时,首先对表达式的值进行判断。如果表达式的值为True,则执行其后的语句块,然后执行if语句的后续语句。若值为False,则直接执行if语句的后续语句。
注意:
在if语句的表达式后面必须加冒号。
因为Python把非0当成真(True),0当成假(False),所以表示条件的表达式不一定必须是结果为True或False的关系表达式或逻辑表达式,可以是任意表达式。
if语句中的语句块必须向后缩进。当包含两个或两个以上语句块时,语句必须缩进一致。若缩进不一致,则语句含义就不同了。
如果语句块中只有一条语句,if语句也可以写在同一行。
2. 双分支选择结构
双分支if语句的一般格式:if 表达式: 语句块1
else:
语句块2
执行该结构时,首先对表达式的值进行判断。如果表达式的值为True,则执行语句块1;否则执行语句块2。示例代码:
if i%2 == 1: x = i/2 y = i*i else: x = i y = i*i*i
3. 多分支选择结构
多分支if语句的一般格式:if 表达式: 语句块1
elif 表达式: 语句块2
elif 表达式: 语句块3
...
elif 表达式: 语句块m
[else:
语句块n]
当表达式1的值为True时,执行语句块1,否则求表达式2的值;为True时,执行语句2,否则处理表达式3,以此类推。若表达式值都为False,则执行else后面的语句n。示例代码:
g = float(input("please input your score:")) if g < 60: print("no pass") elif g < 70: print("pass") elif g < 85: print("not bad") else: print("good")
4. 选择结构的嵌套
if语句中可以再嵌套if语句,有不同的嵌套形式,格式如下:格式一:
if 表达式1: if 表达式2: 语句块1 else: 语句块2
格式二:
if 表达式1: if 表达式2: 语句块1 else: 语句块2
根据对齐格式来确定if语句之间的逻辑关系。在第一种格式中,else与第二个if配对。在第二种格式中,else与第一个if配对。Python语言的缩进格式,增强了程序的可读性,也代表了else和if的逻辑配对关系。示例代码:
g = float(input("please input score:")) if g >= 60: if g >= 70: if g >= 85: print("good") else: print("not bad") else: print("pass") else: print("no pass")
2.5.3 循环结构
循环是指在程序设计中,从某处开始有规律地反复执行某一程序块的现象,重复执行的程序块称为循环体。使用循环可以避免重复不必要的操作,简化程序,提高效率。Python提供了while语句和for语句来实现循环结构。
1. while语句
while用来实现“当型”循环结构,格式如下:while 表达式: 语句块
当执行while语句时,先对表达式进行计算,若值为True(非0),则执行循环体语句;否则跳过循环体语句,执行while结构后面的语句。每执行完一次循环体语句,都对表达式进行一次计算和判断,直到表达式值为False,跳出循环体。示例代码:
sum = 0 while(i<=100): sum += i i ++ print(sum)
注意,如果表达式永远为True,循环将会无限地执行下去形成死循环。在循环体内必须有修改表达式值的语句,使其趋向False,避免无限循环。
2. for循环结构
Python中的for循环是一个通用的序列迭代器,可以遍历任何有序的序列对象的元素。for语句可用于字符串、列表、元组以及其他内置可迭代对象。for语句的一般格式,如下:
for 目标变量 in 序列对象: 语句块
for语句将序列对象中的元素逐个赋给目标变量,对每一次赋值都执行一遍循环体语句块。当序列被遍历,即每一个元素都用过了,则循环结束。
遍历列表,示例代码:
fruits = ['banana', 'orange', 'apple'] for fruit in fruits: print("Current fruit:", fruit)
遍历字符串,示例代码;
for c in "Hello world": print(c, end='-')
遍历元组,示例代码:
fruits = ('banana', 'orange', 'apple') for fruit in fruits: print("Current fruit:", fruit)
遍历列表,用于for循环时,元组和列表作用完全一样。示例代码:
fruits = ['banana', 'orange', 'apple'] for fruit in fruits: print("Current fruit:", fruit)
如果需要遍历一个
ac60
数字序列,可以使用range对象。示例代码:
for i in range(5): print(i, end=' ')
3. 循环控制语句
循环控制语句可以改变循环的执行路径。Python的循环控制语句有break语句和continue语句。break语句用在循环体内,可使程序中途退出循环结构,从而执行循环体后面的语句。break语句通常与if语句一起使用,以便满足条件时跳出循环。示例代码:
var = 10 while var > 0 : print("Current value:", var) var = var - 1 if var == 5 : break print("Bye!")
程序运行结果如下:
Current value: 10 Current value: 9 Current value: 8 Current value: 7 Current value: 6 Bye!
continue语句的作用是跳过循环中剩余的语句,强行执行下一次循环。continue语句常与if条件语句一起使用,用来加速循环。示例代码:
var = 10 while var > 0 : var = var - 1 if var == 5 : continue print("Current value:", var) print("Bye!")
程序运行结果如下:
Current value: 9 Current value: 8 Current value: 7 Current value: 6 Current value: 4 Current value: 3 Current value: 2 Current value: 1 Current value: 0 Bye!
continue语句和break语句的主要区别:continue语句只结束本次循环,而不是终止整个循环的执行。break语句则是结束所在循环,跳出所在循环体。
相关文章推荐
- 2.5程序的流程控制
- 第三章 程序的流程控制(二)
- 第三章 控制程序流程(Controlling Program Flow)
- 第3章 程序流程控制
- DELPHI学习笔记--程序流程控制--条件
- 在程序中有事务控制流程的走向
- JAVA之第3章 控制程序流程
- 教你轻松给流程增加权限控制程序
- JAVA之第3章 控制程序流程
- thinking in java 第3章 控制程序流程
- DELPHI中的程序流程的辅助控制
- Think in java学习笔记-第3章 控制程序流程1
- Jscript 控制程序的流程
- 教你轻松给流程增加权限控制程序
- 第3章 程序流程控制
- TIJ 第三章 程序流程控制
- JAVA编程思想读书笔记四(控制程序流程)
- java编程思想(第四版)_第3章 控制程序流程
- Java自学笔记之程序的流程控制
- java初学者实践教程6--程序流程控制