python基础二_02_流程控制
导读:
本文主要记录自己学习python3基础中流程控制(if,for,while,pass,break,continue等)的要点知识和例子;仅供自己梳理。
一、Python流程控制介绍
流程: 指令/程序运行或求值的顺序。Python 代码正常情况下执行的顺序是从左到右从上到下的,但是在流程控制当中不是这样的。
流程控制三兄弟:If(条件判断),for(循环:广度循环),while(循环:深度循环)
二、if语句(条件判断)
1.if 语句判断语句,只有满足if条件才会执行if 下的语句块。
2.Python中if语句的格式:
注意:(缩进)和‘ : ’有什么用?用来区分代码之间的层次
if 条件1:
block语句块
elif 条件2:
block
else:
block
例子:
age = 19
if age >= 18:
print('你已成年!')
elif age >6:
print('你可以上小学')
else:
print('小baby')
3.嵌套判断
内层是在外层成立的前提下成立
num = 100
if num < 15:
if num >8:
print('15 > num >8')
else:
print('num <= 8')
else:
if num < 30:
print('15 <= num < 30')
else:
print('num >= 30')
三、for广度循环
1.for循环的格式:
for 变量名 in 可迭代对象:
block循环语句块
什么叫可迭代对象?我们已经知道可以对list、tuple、dict、set、str等类型的数据使用for…in…的循环语法从其中依次拿到数据进行使用,我们把这样的过程称为遍历,也叫迭代。把可以通过for…in…这类语句迭代读取一条数据供我们使用的对象称之为可迭代对象(Iterable)。
2.普通for循环示例
普通的range范围,print(end=’’)不换行,引号中可传入自定义符号。
# 一个参数:(0-9)
for i in range(10):
print(i,end='-')
# 两个参数:指定范围(1,10)
for n in range(1,11):
print(n,end='-')
# 三个参数:带有步长range(start,end,step)
for m in range(1,11,2):
print(m,end='-')
字符串的遍历
name = 'ydxqbjl'
for i in name:
print(i)
3.特殊的for 循环:
a = [(1,2),(3,4)]
for i in a:
print(i[0])
i,j = (1,2) 序列解包赋值
a = [(1,2),(3,4)]
for i,j in a:
print('这是i:%s'%i)
print('这是j:%s'%j)
4.嵌套循环
记住:外层循环一次、内层循环一遍
for循环的格式:
for 条件1:
条件1满足时,做的事情1
for 条件2:
条件2满足时,做的事情
打印九成九乘法表
for i in range(1,10):
for j in range(1,i+1):
print('{}*{}={}'.format(j,i,j*i),end='\t')
print()
四、while循环
while 循环,while循环和for循环不同,for循环是一个广度遍历,而while循环是一个深度遍历,while循环,指当满足while的条件的时候,就一直循环执行while的语句块,直到不满足。
1.while循环格式
while(条件):
条件满足时,做的事情
else:
条件不满足时做的事情。
可以看出若条件一直满足,那么就形成了死循环。在Python当中默认的死循环的条件是True。
2.死循环
死循环会阻塞程序运行
死循环多数用于图形化、游戏等可视化的主循环
while True:
print('爷的心情悲寂寥')
所以不用死循环时,我们一般会给程序一个出口
a = 0
while a<10:
print(a)
a += 1
3.while 普通示例:
i = 1
while i >5:
print('我是长江')
else:
print('我是黄河')
4.while 嵌套
while 条件1:
条件1满足时,做的事情1
while 条件2:
条件2满足时,做的事情
例:
n = int(input('请输入你想要的数字'))
i = 1
while i <= n:
j = 1
while j<=i:
print('*',end='')
j += 1
print()
i += 1
五、python的流程控制词
pass、continue、break
1.pass:占位
name = 'ydxqbjl'
for i in name:
if i == 'x':
pass #占位,后期可替换为代码块
else:
print(i,end='')
2.break:退出循环
for 带有break的循环示例如下:
name = 'ydxqbjl'
for i in name:
if i == 'x':
break
else:
print(i,end='')
while带有break的循环示例如下:
i = 0
while i < 10:
i = i + 1
if i == 5:
break
else:
print(i,end='')
3.continue:跳过本次循环
for 带有continue的循环示例如下:
name = 'ydxqbjl'
for i in name:
if i == 'x':
continue
else:
print(i,end='')
while带有continue的循环示例如下:
i = 0
while i < 10:
i = i + 1
if i == 5:
continue
else:
print(i,end='')