您的位置:首页 > 其它

2.5 程序流程控制

2017-07-09 13:51 204 查看
  流程控制是指在程序设计中控制完成某种功能的次序,只有按正确的次序执行代码才能完成指定的任务。Python程序语言有三种基本流程控制结构,即顺序结构、选择结构和循环结构。

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语句则是结束所在循环,跳出所在循环体。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: