python(四)流程控制语句:if、while、for、enumerate(枚举)、range(指定范围)
一、 if
1、 单独的if结构:
if 条件: 满足条件后要执行的代码
2 、 双分支结构:二必选一
if 条件: 满足条件执行代码
else: 上面的条件不满足就走这段
3 、 多分支
if 条件: 满足条件执行代码 elif 条件: 上面的条件不满足就走这个 elif 条件: 上面的条件不满足就走这个 elif 条件: 上面的条件不满足就走这个 else: 上面所有的条件不满足就走这段
4 、 嵌套:
1 username = input('请输入用户名:') 2 password = input('请输入密码:') 3 4 if username == '王大锤' : 5 if password == '123': 6 print('成功登陆') 7 else: 8 print('密码错误') 9 else: 10 print('用户名错误')
二 、 while
1、基本循环
while 循环条件: 循环体 如果条件为真,那么循环体则执行 如果条件为假,那么循环体不执行
2、循环终止语句
break: 用于完全结束一个循环,跳出循环体执行循环后面的语句
continue: 只是终止本次循环,接着还执行后面的循环,break则完全终止循环
3、与其他结构嵌套:
while ... else .. : 当while 循环正常执行完,中间没有被break 中止的话,就会执行else后面的语句
无break的例子:
1 count = 0 2 while count <= 5 : 3 count += 1 4 print("Loop",count) 5 6 else: 7 print("循环正常执行完啦") 8 print("-----out of while loop ------") 9 10 11 # 输出如下 12 Loop 1 13 Loop 2 14 Loop 3 15 Loop 4 16 Loop 5 17 Loop 6 18 循环正常执行完啦 19 -----out of while loop ------
被break的例子:
1 count = 0 2 while count <= 5 : 3 count += 1 4 if count == 3:break 5 print("Loop",count) 6 7 else: 8 print("循环正常执行完啦") 9 print("-----out of while loop ------") 10 11 # 输出如下 12 13 Loop 1 14 Loop 2 15 -----out of while loop ------
三 、 for循环
用户按照顺序循环可迭代对象的内容
1 #字符串的for循环 2 msg = '小鱼在水里游来游去' 3 for i in msg: 4 print(i) 5 6 #列表的for循坏 7 li = ['11', '22', '33', '44', '55'] 8 for i in li: 9 print(i) 10 11 #字典的for循环 12 dic = {'name':'王大锤', 'age':18, 'sex':'男'} 13 for k, v in dic.items(): 14 print(k, v)
只要循环被break打断,则不执行else程序
li = ['唐僧', '孙悟空', 'k', '沙和尚', '猪八戒'] for i in li: if i == 'k': break print(i) # 结果只输出 # 唐僧 # 孙悟空
四 、 枚举:enumerate
对于一个可迭代的(iterable)/可遍历的对象(如列表、字符串),enumerate将其组成一个索引序列,利用它可以同时获得索引和值
1 li = ['唐僧', '孙悟空', '沙和尚', '猪八戒'] 2 for i in enumerate(li): 3 print(i) # 输出结果为四个新的列表 4 5 for i, name in enumerate(li, 0): # 起始位置默认是0,可更改 6 print(i, name) # 输出结果为四行带编号的数据,起始编号为enumerate内的第二个参数
输出结果如下:
1 #第一次输出四个列表 2 (0, '唐僧') 3 (1, '孙悟空') 4 (2, '沙和尚') 5 (3, '猪八戒') 6 7 8 # 第二次输出四行数据 9 0 唐僧 10 1 孙悟空 11 2 沙和尚 12 3 猪八戒
五 、 range:指定范围,生成指定数字
1 for i in range(1, 10): # 范围为1-10,不包含10 2 print(i) # 输出结果依次为1 - 9 3 4 for i in range(1, 10, 2): # 范围为1-10,不包含10,步长为2 5 print(i) # 输出结果依次为1,3,5,7,9 6 7 for i in range(10, 1, -2): # 范围为10-1,不包含1,步长为-2,即反向 8 print(i) # 输出结果依次为10,8,6,4,2
注意: 反向输出时,必须加-1,才会执行代码
1 for i in range(10, 1): # 反向,未加步长 2 print(i) # 不会输出内容 3 4 for i in range(10, 1, -1): # 反向,加步长-1 5 print(i) # 输出内容10,9,8,7,6,5,4,3,2