流程控制之分支结构
什么是分支结构
分支结构就是通过条件的判断结果(True/False)分别执行不同的代码块
分支结构渗透在我们生活中的方方面面,例如:
数学成绩及格了没有?
成绩大于60 及格
小于60 不及格
如何使用分支结构
1.单if分支
age = 18
if age < 30:
print('小姐姐')
2.if...else分支
age = 18
if age < 30:
print('小姐姐')
else:
print('大妈')
3.if...elif...else分支
score = input('请输入你的成绩:')
score = int(score)
if(score > 90):
print('优秀')
elif(score > 80):
print('良好')
elif(score > 60):
print('及格')
else:
print('挂科')
4.if多层嵌套
if 条件表达式1:
结果1
if 条件表达式2:
结果2
if 条件表达式3;
结果3
else:
结果3得反面
else:
结果2得反面
else:
结果1的反面
分支结构小练习
根据用户输入内容打印其权限
jason
tom
jack,rain
其他
name = input('请输入您的姓名:')
if name == 'jason':
print('超级管理员')
elif name == 'tom':
print('普通管理员')
elif name in ('jack' , 'rain'):
print('业务主管')
else:
print('普通用户')
#请输入您的姓名:jason
#超级管理员
流程控制之while循环
while后面跟循环条件 下面跟循环执行的子代码
1.先判断while后面的循环条件是否成立,若成立则执行子代码
2.子代码运行完毕后,再次回到循环条件除判断 循环条件是否成立 依次往复
3.若循环条件不成立,则循环结束,开始执行下面的代码
count = 1
while count < 11:
print(count)
count += 1
while与break
break:结束本层循环(整个循环)
while True:
print('我是外层循环')
while True:
print('我是内层循环')
break
while与continue
continue:结束本次循环(单次循环)
count = 1
while count < 11:
if count == 7:
count += 1
continue
print(count)
count += 1
while与else
count = 1
while count < 11:
print(count)
if count == 7:
break
count += 1
else:
print('循环体按照提前定义好的条件正常结束 则会执行')
死循环与全局标志位
1.死循环
a = 10
while True:
a *= 10
print(a)
2.全局标志位(可以不用)
flag = True
while flag:
print(123)
while flag:
print(321)
while flag:
print(222)
flag = False
流程控制之for循环
1.for的引入
l1 = ['jason', 'kevin', 'tony', 'oscar']
如果用while循环
i = 0
while i <= 3:
print(l1[i])
i += 1
如果用for循环
for i in l1:
print(i)
2.语法结构
for 变量名 in 可迭代对象:
for循环的循环体代码
3.常见的取值操作
user_dict = {
'username': 'jason',
'pwd': 123,
'age': 18
}
for i in user_dict:
print(i)
desc = 'hello baby! 你会感谢少时奋斗的自己'
for i in desc:
print(i)
4.for + break
for i in range(1,11):
if i == 7:
break
print(i)
5.for + continue
for i in range(1, 11):
if i == 7:
continue
print(i)
6.for + else
for i in range(10):
print(i)
if i == 5:
break
else:
print('嘿嘿嘿 猜猜我什么时候执行')
7.循环数据类型的时候尽量不要修改数据类型内部的数据值个数
'''不允许出现下列情况'''
l1 = [1, 2, 3, 4]
for i in l1:
l1.pop()
print(l1, i)
range方法
1.range方法可以看做是能够帮助我们产生一个包含多个数据值的列表
for i in range(10):
print(i)
for j in range(1,10):
print(j)
for k in range(0,100,20):
print(k)
'''
2.range在python2和python3中的区别
python2中的range()返回的是一个列表。当数据量很大的时候可能会造成内存溢出(爆满)
python2中的xrange()其实就是python3中的range()
python3中的range() 函数返回的是一个可迭代对象(类型是对象),而不是列表类型, 所以打印的时候不会打印列表。
'''
3.range方法实操
https://www.cnblogs.com/ 第一页
https://www.cnblogs.com/
https://www.cnblogs.com/
https://www.cnblogs.com/
base_url = 'https://www.cnblogs.com/#p%s'
for i in range(1, 101):
print(base_url % i)
作业
1.准确说出下列判断的结果(不要执行代码)
v1 = 1 or 3
v2 = 1 and 3
v3 = 0 and 2 and 1
v4 = 0 and 2 or 1
v5 = 0 and 2 or 1 or 4
v6 = 0 or False and 1
2.编写一个用户登录程序
用户如果登录失败 则只能尝试三次
用户如果登录成功 则直接结束程序
'''
count = 1
while count < 4:
username = input('请输入账户:')
password = input('请输入密码:')
if username == 'zhangsan' and password == '123':
print('登录成功')
break
else:
count += 1
'''
3.编写一个用户登录程序
用户如果登录失败 可以无限制尝试
用户如果登录成功 则进入内层循环 获取用户输入的指令 并打印该指令
eg: 用户输入cmd指令 则程序打印'正在执行您的指令:cmd'
给用户提供一个退出命令 用户一旦输入则退出这个程序
eg: 用户输入q指令 则程序先打印该指令再结束
'''
while True:
username = input('请输入您的账号:')
password = input('请输入您的密码:')
while username == 'zhangsan' and password == '123':
command = input('请输入您的指令:')
if command != 'q':
print('正在打印您的指令:', command)
else:
print('已退出该次循环')
break
'''
4.编写猜年龄的游戏(拔高练习 尝试编写)
用户有三次猜测的机会 如果用完则提示用户是否继续尝试
用户输入y则继续给三次机会 如果用户输入q则直接结束程序
'''
count = 1
while count < 4:
guess = input('请输入您的猜测结果:')
if guess != '19':
count += 1
if count == 4:
attempt = input('您已经尝试三次了,是否还要尝试? y继续 q退出')
if attempt == 'y':
count = 1
continue
elif attempt == 'q':
break
else:
print('猜对了')
break
'''