流程控制
1. 定义及说明
1 2 3 4 5
| 流程控制即控制事物的执行过程 任何使用执行流程只有三种情况: 1.顺序结构 2.分支结构 3.循环结构
|
1 2 3 4 5 6
| 1.条件都会转成布尔值 从而决定子代码是否执行 2.在python中 使用缩进来表示代码的从属关系 3.并不是所有的代码都可以拥有子代码 4.同属于某个代码的多行子代码 必须要保持相同的缩进量 在python中推荐使用四个空格来缩进 ps:小技巧 上一行代码的结尾如果是冒号 那么下一行代码必缩进
|
2. 顺序结构

3. 分支结构
3.1 if基本使用
3.1.1 if单分支
1 2 3 4 5 6 7
| 格式: if 条件: 条件成立之后执行的子代码块 eg: age = 20 if age < 28: print("小姐姐好")
|

3.1.2 if-else使用
1 2 3 4 5 6 7 8 9 10 11 12 13
| 格式: if 条件: 条件成立之后执行的子代码块 else: 条件不成立执行的子代码块 eg: age = 20 if age < 28: print('小姐姐好') else: print('认错人了')
|

3.1.3 if-elif-else使用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| 格式: if 条件1: 条件1成立之后执行的子代码块 elif 条件2: 条件1不成立 条件2成立之后执行的子代码块 elif 条件3: 条件1和2都不成立 条件3成立之后执行的子代码块 ... else: 上述条件都不成立 执行的子代码块 eg: score = 79 if score > 90: print('优秀') elif score > 80: print('良好') elif score > 70: print('一般') elif score 78> 60: print('及格') else: print('挂科重修')
|

3.2 if嵌套使用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| 格式: if 条件 1: 条件 1 成立执行的代码 if 条件 2: 条件 2 成立执行的代码 eg: age = 26 height = 165 weight = 99 is_beautiful = True is_success = True if age < 28 and height > 160 and weight < 100 and is_beautiful: print('小姐姐能否加个微信') if is_success: print('吃饭 看电影 天黑了...') else: print('去你妹的 变态!') else: print('可惜了')
|

3.3 小练习
1.编写一个用户登录功能 ,用户名是jason, 密码是123,用户如果输入正确则打印来宾三位,否则登录失败
1 2 3 4 5 6 7 8 9 10 11 12 13
| NAME = 'jason' PASSWD = 123
username = input("请输入用户名:") passwd = int(input("请输入密码:"))
if NAME == username and PASSWD == passwd: print("来宾三位") else: print("登录失败")
|

2.根据用户名的不同打印不同的用户身份
jason管理员 tony安保人员 kevin财务 jack销售 其他普通员工
1 2 3 4 5 6 7 8 9 10 11 12
| username = input("请输入用户名:") if username == "jason": print("管理员") elif username == 'tony': print("安保人员") elif username == 'kevin': print("财务") elif username == 'jack': print("销售") else: print("普通员工")
|

4. 循环结构
4.1 while循环
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| 格式: while 条件: 条件成立之后循环执行的子代码 eg: while True: username = input('username>>>:') password = input('password>>>:') if username == 'jason' and password == '123': print('来宾三位') else: print('登录失败')
|

4.2 while-break
1 2 3 4 5 6 7 8 9 10 11 12
| break:结束本层循环 eg: while True: username = input('username>>>:') password = input('password>>>:') if username == 'jason' and password == '123': print('来宾三位') break else: print('登录失败')
|
4.3 全局标志位
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| flag = True while flag: username = input('username>>>:') password = input('password>>>:') if username == 'jason' and password == '123': print('来宾三位') while flag: cmd = input('请输入您的指令>>>:') if cmd == 'q': flag = False print('正在执行您的指令:%s' % cmd) else: print('去你妹的 没钱滚蛋')
|
5. 练习
1 2 3 4 5 6 7 8 9 10 11
| 猜年龄的游戏 1.要求1 用户可以有三次猜错的机会 如果过程中猜对了直接退出 2.要求2 三次机会用完之后提示用户是否继续尝试 如果是则再给三次机会 如果否则直接结束
age = input('age>>>:') real_age = 18 age = int(age)
|
1 2 3 4 5 6 7 8 9 10 11 12 13
| AGE = 26 count = 0
while count < 3: age = int(input("请输入你猜的年龄:"))
if age == AGE: print("猜对了,年龄是%s" % age) break else: print("猜错了") count += 1
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| AGE = 26 count = 0 while count < 3: count += 1 age = int(input("请输入你猜的年龄: ")) if age == AGE: print("猜对了,年龄是%s" % age) break elif count == 3: while True: again = input("已经答错三次,是否继续三次Y/N: ") if again == 'Y': count = 0 break elif again == 'N': break else: print("输入正确的字符") else: print("答错了请继续!")
|