流程控制
流程控制
1. 流程控制
流程控制即控制事物的执行流程
任何使用执行流程只有三种情况
2. 必知必会
3. if
3.1 if
if 条件 :
条件成立后执行if下的代码块
age = 36 if age < 28: print('小姐姐好')
3.2 if else
1 if 条件: 2 条件成立之后执行的子代码块 3 else: 4 条件不成立的情况下执行的子代码块 5 6 # if与else连用 两者的子代码永远只会执行一个 7 8 9 age = 25 10 if age < 28: 11 print('小姐姐好') 12 else: 13 print('认错人了')
3.3 if elif else
1 if 条件1: 2 条件1成立之后执行的子代码块 3 elif 条件2: 4 条件1不成立 条件2成立之后执行的子代码块 5 elif 条件3: 6 条件1和2都不成立 条件3成立之后执行的子代码块 7 ... 8 else: 9 上述条件都不成立 执行的子代码块 10 11 # elif可以有多个 12 三者连用也是只会其中一个子代码块 13 14 15 score = 79 16 if score > 90: 17 print('优秀') 18 elif score > 80: 19 print('良好') 20 elif score > 70: 21 print('一般') 22 elif score 78> 60: 23 print('及格') 24 else: 25 print('挂科重修')
3.4 if的嵌套
1 age = 26 2 height = 165 3 weight = 99 4 is_beautiful = True 5 is_success = True 6 if age < 28 and height > 160 and weight < 100 and is_beautiful: 7 print('小姐姐能否加个微信') 8 # 判断小姐姐是否会给微信 9 if is_success: 10 print('吃饭 看电影 天黑了...') 11 else: 12 print('去你妹的 变态!') 13 else: 14 print('可惜了')
4. while
4.1 while循环
1 while 条件: 2 条件成立之后循环执行的子代码块 3 4 while True: 5 # 1.获取用户输入的用户名和密码 6 username = input('username>>>:') 7 password = input('password>>>:') 8 # 2.判断用户名和密码是否正确 9 if username == 'jason' and password == '123': 10 print('来宾三位') 11 else: 12 print('去你妹的 没钱滚蛋')
4.2 while break
while + break # break结束本层循环 while True: # 1.获取用户输入的用户名和密码 username = input('username>>>:') password = input('password>>>:') # 2.判断用户名和密码是否正确 if username == 'jason' and password == '123': print('来宾三位') # 直接结束本层循环 break else: print('去你妹的 没钱滚蛋')
4.3 break本层的含义
1 # while嵌套 2 while True: 3 # 1.获取用户输入的用户名和密码 4 username = input('username>>>:') 5 password = input('password>>>:') 6 # 2.判断用户名和密码是否正确 7 if username == 'jason' and password == '123': 8 print('来宾三位') 9 while True: 10 cmd = input('请输入您的指令>>>:') 11 # 判断用户是否想退出 12 if cmd == 'q': 13 break 14 print('正在执行您的指令:%s' % cmd) 15 break 16 else: 17 print('去你妹的 没钱滚蛋')
4.4 全局标志位
# 标志位的使用 flag = True while flag: # 1.获取用户输入的用户名和密码 username = input('username>>>:') password = input('password>>>:') # 2.判断用户名和密码是否正确 if username == 'jason' and password == '123': print('来宾三位') while flag: cmd = input('请输入您的指令>>>:') # 判断用户是否想退出 if cmd == 'q': flag = False print('正在执行您的指令:%s' % cmd) else: print('去你妹的 没钱滚蛋')
5. for
5.1 for循环
1 for循环能做到的事情 while循环都可以做到 2 但是for循环语法更加简洁 并且在循环取值问题上更加方便 3 4 name_list = ['jason', 'tony', 'kevin', 'jack', 'xxx'] 5 # 循环取出列表的每一个元素并打印 6 # while实现 7 # count = 0 8 # while count < 5: 9 # print(name_list[count]) 10 # count += 1 11 # for循环 12 for name in name_list: 13 print(name) 14 15 """ 16 for 变量名 in 可迭代对象: # 字符串、列表、字典、元组、集合 17 for循环体代码 18 19 ps:变量名如果没有合适的名称 那么可以使用i,j,k,v,item等 20 """ 21 22 # name_list = ['jason', 'tony', 'kevin', 'jack', 'xxx'] 23 # 循环取出列表的每一个元素并打印 24 # while实现 25 # count = 0 26 # while count < 5: 27 # print(name_list[count]) 28 # count += 1 29 # for循环 30 # for name in name_list: 31 # print(name) 32 33 # for循环字符串 34 # for i in 'hello world': 35 # print(i) 36 37 38 # for循环字典:默认只能拿到k 39 d = {'username': 'jason', 'pwd': 123, 'hobby': 'read'} 40 for k in d: 41 print(k, d[k])
5.2 range关键字
# 关键字range # 第一种:一个参数 从0开始 顾头不顾尾 # for i in range(10): # print(i) # 第二种:两个参数 自定义起始位置 顾头不顾尾 # for i in range(4, 10): # print(i) # 第三种:三个参数 第三个数字用来控制等差值 for i in range(2, 100, 10): print(i) """ 扩展知识 https://movie.douban.com/top250 第一页 https://movie.douban.com/top250?start=25&filter= 第二页 https://movie.douban.com/top250?start=50&filter= 第三页 https://movie.douban.com/top250?start=75&filter= 第四页 https://movie.douban.com/top250?start=0&filter= 推测第一页 """ base_url = "https://movie.douban.com/top250?start=%s&filter=" for i in range(0, 250, 25): print(base_url % i) # range在不同版本的解释器中 本质不同 在python2.X中range会直接生成一个列表 在python2.X中有一个xrange也是迭代器(老母猪) 在python3.X中range是一个迭代器(老母猪) 节省内存空间 '''python2.X中xrange就是python3.x里面的range'''
5.3 for+break
1 break功能也是用于结束本层循环 2 for i in range(10): 3 if i == 4: 4 break 5 print(i)
5.4 for+conyinue
1 continue功能也是用于结束本次循环 2 for i in range(10): 3 if i == 4: 4 continue 5 print(i)
5.5 for+else
1 else也是在for循环正常结束的情况下才会执行 2 3 for i in range(10): 4 if i == 4: 5 break 6 print(i) 7 else: 8 print('你追我!!!')
5.6 for循环的嵌套使用
1 # for i in range(3): 2 # for j in range(5): 3 # print("*", end='') 4 # print() 5 6 7 for i in range(1, 10): 8 for j in range(1, i + 1): 9 print('%s*%s=%s' % (i, j, i * j), end=' ') 10 print()