第二天 第三章 流程控制语句
一、程序结构

1. 顺序结构:按照编写顺序依次执行。
2. 选择结构:根据条件语句结果执行不同的语句。
3. 循环结构:在特定条件下反复执行某段程序。被反复执行的语句称为循环体,决定循环是否终止的判断条件成为循环条件。
二、选择语句
选择语句也称为条件语句,即按照条件选择执行不同的代码。有3种形式:if语句、if...else分支语句、if...elif...else多分支语句。
1. if语句:
if 表达式: 语句块
表达式可以是一个单纯的布尔值或变量,也可以是比较表达式或逻辑表达式。如果表达式的值为真,就执行语句块,否则跳过语句块。
注:当表达式是一个非零的数或非空的字符串时,表达式也被认为它的值为真。
2. if...else语句:
if 表达式: 语句块1 else: 语句块2
表达式可以是一个单纯的布尔值或变量,也可以是比较表达式或逻辑表达式。如果表达式的值为真,就执行语句块1,否则执行语句块2。
技巧:
a = -9 if a > 0: b = a else: b = -a print(b) # 这是一个求绝对值的功能,可以简化为一个条件表达式: a = -9 b = a if a > 0 else -a print(b) # 使用条件表达式的好处时可以使代码简洁,并且有一个返回值。
3. if...elif...else语句:
if 表达式1: 语句块1 elif 表达式2: 语句块2 elif 表达式3: 语句块3 ... else: 语句块n
表达式可以是一个单纯的布尔值或变量,也可以是比较表达式或逻辑表达式。如果表达式1的值为真,就执行语句块1,如果为假,则判断表达式2,如果表达式2为真,执行语句块2,否则判断表达式3,依次类推,如果表达式的值都为假,则执行语句块n。
注:使用if语句时,尽量遵循以下原则:
# 当使用布尔类型的变量作为判断条件时,假设布尔变量为flag # 较为规范的格式 if flag: # 表示为真 if not flag: #表示为假 # 不符合规范的格式 if flag == True: if flag != False: # 判断条件为表达式时 if 1 == a: # 推荐这么写 if a == 1: # 不推荐这么写,容易写成 a = 1
4. 嵌套语句:可以有多种嵌套方式,需要注意的是一定要控制好不同级别代码块的缩进量。
5. 条件表达式:先计算中间表达式的值,如果为True,返回if左边的值,如果为False,返回else右边的值
a = 10 b = 6 r = a if a>b else b # r的值是10
三、循环语句
1. while循环
while 条件表达式: 循环体
如果表达式的值为真,重复执行循环体语句
print('今有物不知其数,三三数剩二,五五数剩三,七七数剩二,问几何?') none =True number = 0 while none: number += 1 if number % 3 == 2 and number % 5 == 3 and number % 7 == 2: print('答曰:此数为:',number) none = False
使用循环语句时,一定不要忘记添加将条件变为False的代码,否则将产生死循环。
2. for循环
for 迭代变量 in 对象: 循环体
a. 适用于枚举或遍历序列,以及迭代对象中的元素。
# for循环最基本的应用就是进行数值循环。 print('计算1+2+3+...+100的结果:') result = 0 for i in range(101): result += i print(result)
上面代码中使用了range()函数,这是python的内置函数,用于生成一系列连续的整数,多用于for循环。其语法格式如下:
range(start,end,step)
start:用于指定计数的起始值,省略则默认为0.
end:用于指定计数的结束值(但不包括该值)不能省略。当该函数只有一个参数时,即表示结束值。
step:用于指定步长,即两个数之间的间隔,省略则默认为1。
for i in range(1,10,2): print(i,end=' ')
注:python2.x中,如果想让print输出内容在一行显示,可以在后面加逗号(print(i ,)),但在python3.x中需要使用参数(print(i , end = '分隔符')),分隔符可以时空格或其它符号,也可以为空,为空则时连续输出。
python3.x中已经删除了xrange()函数。
b. 遍历字符串
string = '不要再说我不能' for ch in string: print(ch)
3. 嵌套循环
a. while循环嵌套while循环
while 条件表达式1: while 条件表达式2: 循环体2 循环体1
b. for循环嵌套for循环
for 迭代变量1 in 对象1: for 迭代变量2 in 对象2: 循环体2 循环体1
c. while循环嵌套for循环
while 条件表达式1: for 迭代变量2 in 对象2: 循环体2 循环体1
d. for循环嵌套while循环
for 迭代变量1 in 对象1: while 条件表达式2: 循环体2 循环体1
上面是4中基本嵌套循环,其它嵌套循环都是在此基础上扩展。
四、跳转语句
1. break语句
一般和if语句搭配,如:
while 条件表达式1: 执行代码 if 条件表达式2: break # 结束整个循环 for 迭代变量1 in 对象1: if 条件表达式1: break # 结束整个循环
2. continue语句
一般和if语句搭配,如:
while 条件表达式1: 执行代码 if 条件表达式2: continue # 忽略本次循环,继续下一次循环 for 迭代变量 in 对象: if 条件表达式: continue # 忽略本次循环,继续下一次循环
3. pass空语句
相当于占位符,不做任何处理
for i in range(10): if i%2 == 0: print(i) else: pass

浙公网安备 33010602011771号