流程控制
流程控制即控制事物的执行流程
任何使用执行流程只有三种情况
1.顺序结构
自上而下依次运行
# 我们之前编写的代码就是顺序结构
2.分支结构
在运行过程中根据条件的不同可能会执行不同的流程
3.循环结构
在运行过程中有些代码需要反复执行
同在一个屋檐下 为何差距那么大



必知必会
1.条件都会转成布尔值 从而决定子代码是否执行
2.在python中 使用缩进来表示代码的从属关系
3.并不是所有的代码都可以拥有子代码
4.同属于某个代码的多行子代码 必须要保持相同的缩进量
在python中推荐使用四个空格来缩进
ps:小技巧 上一行代码的结尾如果是冒号 那么下一行代码必缩进
分支结构
关键字if
# 1.单if分支结构
"""
if 条件:
条件成立之后执行的子代码块
"""
# 如果年龄小于28 叫小姐姐
age = 36
if age < 28:
print('小姐姐好')
# 2.if与else连用
"""
if 条件:
条件成立之后执行的子代码块
else:
条件不成立的情况下执行的子代码块
ps:if与else连用 两者的子代码永远只会执行一个
"""
# 如果年龄小于28 叫小姐姐 否则叫 不好意思认错人了
age = 25
if age < 28:
print('小姐姐好')
else:
print('认错人了')
# 3.if elif else三者连用
"""
if 条件1:
条件1成立之后执行的子代码块
elif 条件2:
条件1不成立 条件2成立之后执行的子代码块
elif 条件3:
条件1和2都不成立 条件3成立之后执行的子代码块
...
else:
上述条件都不成立 执行的子代码块
ps:elif可以有多个
三者连用也是只会其中一个子代码块
"""
# 根据成绩评判分类
# 大于90优秀 大于80良好 大于70一般 大于60及格 其他挂科
score = 79
if score > 90:
print('优秀')
elif score > 80:
print('良好')
elif score > 70:
print('一般')
elif score 78> 60:
print('及格')
else:
print('挂科重修')

if判断之嵌套
# 一定要图文相结合去消化理解吸收
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('可惜了')

if练习题
# 1.编写一个用户登录功能 用户名是jason 密码是123
# 用户如果输入正确则打印来宾三位 否则登录失败
"""
1.先写思路 注释 流程
2.再动手写代码
"""
# 1.获取用户输入的用户名和密码
# username = input('username>>>:')
# password = input('password>>>:')
# # 2.判断用户名和密码是否正确
# if username == 'jason' and password == '123':
# print('来宾三位')
# else:
# print('去你妹的 没钱滚蛋')
# 2.根据用户名的不同打印不同的用户身份
# jason管理员 tony安保人员 kevin财务 jack销售 其他普通员工
# 1.获取用户名
username = input('username>>>:')
# 2.判断用户名身份
if username == 'jason':
print('管理员')
elif username == 'tony':
print('安保')
elif username == 'kevin':
print('财务')
elif username == 'jack':
print('销售')
else:
print('普通员工')


while循环
# 语法结果
"""
while 条件:
条件成立之后循环执行的子代码块
"""
while True:
# 1.获取用户输入的用户名和密码
username = input('username>>>:')
password = input('password>>>:')
# 2.判断用户名和密码是否正确
if username == 'jason' and password == '123':
print('来宾三位')
else:
print('去你妹的 没钱滚蛋')

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('去你妹的 没钱滚蛋')
break本层的含义
# while嵌套
while True:
# 1.获取用户输入的用户名和密码
username = input('username>>>:')
password = input('password>>>:')
# 2.判断用户名和密码是否正确
if username == 'jason' and password == '123':
print('来宾三位')
while True:
cmd = input('请输入您的指令>>>:')
# 判断用户是否想退出
if cmd == 'q':
break
print('正在执行您的指令:%s' % cmd)
break
else:
print('去你妹的 没钱滚蛋')
全局标志位
# 标志位的使用
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('去你妹的 没钱滚蛋')
作业
1.整理今日内容及博客
2.猜年龄的游戏
普通要求
用户可以有三次猜错的机会 如果过程中猜对了直接退出
拔高要求
三次机会用完之后提示用户是否继续尝试 如果是则再给三次机会 如果否则直接结束
数据类型转换提示
age = input('age>>>:')
real_age = 18
# 将字符串的数字转换成整型
age = int(age)

whlie+continue
1使用while循环打印出0——10

2使用while循环打印出0-10但是不打4

while+else
count = 0
while count < 5:
print(count)
count += 1
else:
print('小妹妹你在干嘛呢')

count = 0
while count < 5:
if count == 3:
break
print(count)
count += 1
else:
print('小妹妹你在干嘛呢')

死循环
while True:
print(1)

for循环
for循环能做到的事情 while循环都可以做到但是for循环语法更加简洁 并且在循环取值问题上更加方便
for 变量名 in 可迭代对象: 字符串、列表、字典、元组、集合
for循环体代码
ps:变量名如果没有合适的名称 那么可以使用i,j,k,v,item等
循环取出列表的每一个元素并打印
while实现
name_list = ['jason', 'tony', 'kevin', 'jack', 'xxx']
count = 0
while count < 5:
print(name_list[count])
count += 1

for循环与while循环比较
name_list = ['jason', 'tony', 'kevin', 'jack', 'xxx']
count = 0
while count < 5:
print(name_list[count])
count += 1
for name in name_list:
print(name)

for循环字符串
for i in 'hello world':
print(i)

for循环字典:默认只能拿到k
d = {'username':'jason', 'pwd': 123, 'hobby':'read'}
for k in d :
print(k, d[k])

range关键字
range 在不同的的解释器中 本质不同
在python2.x中range会直接生成一个列表
在python2.x中有一个xrange也是迭代器(老母猪)
在python3.x中range是一个迭代器(老母猪) 节省内存空间
'''python2.x中xrange就是python3.x里面的range'''
1一个参数 从零开始 顾头不顾尾
for i in range (10):
print(i)

2两个参数 自定义起始位置
顾头不顾尾
for i in range (4, 10):
print(i)

3三个参数 第三个数字用来控制等差值
for i in range (2, 101, 10):
print(i)

for+break
break功能也是用于结束本层循环
for i in range (10):
if i == 4:
break
print(i)

for+continue
continue功能也是用于本次循环
for i in range (10):
if i == 5:
continue
print(i)

for+else
else也是在for循环正常结束的情况下才会执行
for i in range (10):
if i == 5:
break
print(i)
else:
print('学习使我快乐')

for循环的嵌套使用
去掉换行符
for i in range(3):
for j in range(5):
print("", end='' )

大环套小环
for i in range(1, 10):
for j in range(1, i + 1):
print('%s%s=%s' % (i, j, i * j), end='')
print()

浙公网安备 33010602011771号