流程控制
一、if判断
1、为什么要有if判断?
判断事物的对错,真假,是否可行,想让计算机像人一样去工作,那么计算机也应该有对事物的对错,真假,是否可行的判断能力,从而做出不同的响应。
2、语法
if 条件: 代码1 代码2 代码3 代码4 ... if 条件: 代码1 代码2 代码3 代码4 ... else: #不能单独使用,必须和if,where,for配合使用 代码1 代码2 代码3 代码4 ... if 条件: 代码1 代码2 代码3 代码4 ... elif 条件: 代码1 代码2 代码3 代码4 ... elif 条件: 代码1 代码2 代码3 代码4 ... else: 代码1 代码2 代码3 代码4 ... ''' if、elif、else同一级别配合使用的时候,只会指向一个代码块(走了if就不会走elif、else,走了elif
就不会走else,if看到没走,走了else说明if elif都没走,都不满足if elif的条件) '''
3、if的嵌套
if 条件: 代码1 代码2 代码3 elif 条件: 代码1 if 条件: 代码1 代码2 代码3 代码2 代码3 else: 代码1 代码2 代码3 #不仅可以嵌套在elif下,还可以嵌套在if和else下,还可以多层嵌套
二、while循环
1、为什么要有while循环
让电脑重复做某一件事情
2、语法
while 条件: 代码1 代码2 代码3 代码4 ... while 条件: 代码1 代码2 代码3 if 条件: break #立即结束本层循环(只针对它属于的那一个while有效) ... while 条件: 代码1 代码2 if 条件: continue #跳出本次循环,直接开始下一次循环 代码4 ...
3、while+else语法
while 条件: 代码1 代码2 代码3 else: 代码1 代码2 while 条件: 代码1 if 条件: 代码1 break 代码3 else: 代码1 代码2 #只有当while循环依据条件征程结束才会走else代码,如果是主动结束的break,那么不会走else
三、for循环
1、特点:不依赖索引取值
2、语法
for 变量名 in 容器类型: 代码1 代码2 代码3 代码4
3、for循环字典
d = {'name': 'jason', 'password': '123', 'hobby': [1, 2, 3, 4]} for i in d: print(i) >>> name password hobby #只能拿到key的值,要想拿到value的值,必须print(d[i])
4、用for循环循环打印1~10
for i in range(1,10): print(i, end=' ') >>> 1 2 3 4 5 6 7 8 9
#range函数顾头不顾尾,print()函数自带换行,带上end=' '可以将打印内容在一行显示
5、break也可用来主动结束for循环
name_list = ['nick', 'jason', 'tank', 'sean'] for name in name_list: if name == 'jason': break print(name)
6、continue跳出本次循环,开始下一次循环
name_list = ['nick', 'jason', 'tank', 'sean'] for name in name_list: if name == 'jason': continue print(name)
7、for循环的嵌套
for i in range(1, 10): for j in range(1, i + 1): # 内存循环的range条件是根据外层循环决定的 print('%s*%s=%s' % (i, j, i * j), end=' ') print()
四、补充
1、Python用缩进表示代码的归属,同一缩进的代码,称之为代码块
2、布尔值为False的数据有:0、None、''、[]、{}
3、布尔值可以直接用来判断
4、变量名指向的值为True或False的变量名也可以用来判断
5、len(),用于获取数据类型(容器类型)的个数,字符串是特例,获取的是字符串中字符的个数
6、range()在Python2和Python3中的区别
Python2中
range()是一个列表
xrange()与Python3中的range()一样
Python3中
range()是一个老母猪,你需要值的时候我才给你,节省内存空间
7、全局标志位flag,用于干掉循环