目录
编程语言中的流程控制语句分为以下几类:
- 顺序语句
- 分支语句
- 循环语句
其中顺序语句不需要单独的关键字来控制,就是一行行的执行,不需要特殊的说明。这里主要要说的是 分支语句 和 循环语句。
1、分支(选择)语句
1.1、单分支
if 判断条件:
代码块
如果单分支语句的代码块只有一条语句,可以把if语句和代码写在同一行:
if 判断条件: 一句代码
实例:判断明天是否上班
work_overtime = False
if not work_overtime :
print('出去看电影')
if not work_overtime: print('出去看电影')
1.2、双分支
if 判断条件:
代码块
else:
代码块
实例:判断奇偶数
# 判断奇偶数
number = int(input('请输入一个整数:'))
if number % 2 == 0 :
print('这个数是偶数')
else :
print('这个数是奇数')
1.3、多分支
if 判断条件1:
代码块1
elif 判断条件2:
代码块2
...
elif 判断条件n:
代码块n
else:
默认代码块
实例:判断天气
is_hot = False
is_cold = False
is_rain = False
if is_hot :
print('今天天气很热')
print('注意多喝水')
elif is_cold :
print('今天天气很冷')
print('注意保暖')
elif is_rain :
print('今天下雨')
print('注意带伞')
else :
print('今天是个好天气')
2、循环语句
当我们需要多次执行一个代码语句或代码块时,可以使用循环语句。Python中提供的循环语句有:while循环和for循环。需要注意的是Python中没有do…while循环。此外,还有几个用于控制循环执行过程的循环控制语句:break、continue和pass。
2.1、while循环
while循环语句的基本形式如下:
while 判断条件:
代码块
当给定的判断条件的返回值的真值测试结果为True时执行循环体的代码,否则退出循环体。
实例:打印数字0-9
i = 0
while i<=9:
print(i)
i += 1
while死循环
当while的判断条件一直为True时,while循环体中代码就会永远循环下去。
while True:
print("这是一个死循环")
while…else
语句形式:
while 判断条件:
代码块
else:
代码块
else中的代码块会在while循环正常执行完的情况下执行,如果while循环被break中断,else中的代码块不会执行。
实例1:打印数字
i = 1
while i<=5:
print(i)
i+=1
else:
print('输出完成')
实例2:打印数字,加入break语句
i = 1
while i<=5:
print(i)
if i==3:
break
i+=1
else:
print('输出完成')
2.2、for循环
for循环通常用于遍历序列(如list、tuple、range、str)、集合(如 set)和映射对象(如dict)。
for循环的基本格式:
for 临时变量 in 可迭代对象:
代码块
实例:遍历打印一个list中的元素
names = ['Tom', 'Peter', 'Jerry', 'Jack']
for name in names:
print(name)
range 函数
range() 函数可创建一个整数列表,一般用在 for 循环中。
函数语法:
range(start, stop[, step])
参数说明:
- start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5)
- stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
- step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)
实例:打印0-5的数字
for i in range(6):
print(i)
else:
print('输出完成')
for…else
与while…else基本一致,不再赘述。
3、循环控制语句
循环控制语句可以更改循环体中程序的执行过程,如中断循环、跳过本次循环。
循环控制语句 | 说明 |
---|---|
break | 终止整个循环 |
contine | 跳过本次循环,执行下一次循环 |
pass | pass语句是个空语句,只是为了保持程序结构的完整性,没有什么特殊含义。pass语句并不是只能用于循环语句中,也可以用于分支语句中 |
实例1:打印数字
for i in range(6):
print(i)
if i==3:
break
else:
print('输出完成')
实例2:遍历0-9范围内的所有数字,并通过循环控制语句打印出其中的奇数
for i in range(10):
if i % 2 == 0:
continue
print(i, end=' ')
实例3:比较for循环和while循环的效率
import time
start = time.perf_counter() # 开始时间
'''
i = 0
while i<100000000:
i += 1
'''
for i in range(0,100000000):
pass
end = time.perf_counter() # 结束时间
print(end-start)
4、循环嵌套
循环嵌套是指:在一个循环体里面嵌入另一循环。
实例1:通过while循环打印99乘法表
i = 1
while i<=9:
j=1
while j<=i:
print(j,'*',i,'=',j*i,end=' ')
j+=1 # 令列数加1
print('\n')
i += 1 #令行数加1
实例2:通过for循环打印99乘法表
for i in range(1,10):
for j in range(1,i+1):
print(j,'*',i,'=',j*i,end=' ')
print('\n')