流程控制理论
# 什么是流程控制
控制事物的执行流程
# 执行流程的分类
1.顺序结构
从上往下依次执行
我们之前编写的代码都是顺序结构!
2.分支结构
根据某些条件的判断做出不同的执行流程
3.循环结构
根据某些条件的判断循环反复的做相同的事情(不可能一直循环)
例如流水线上的操作工
在代码层面上就是让一些代码反反复复执行
"""
流程图的制作 可以用截图 也可以用在线网站processon ,甚至可以用软件xmind
"""
必知必会
1.在python中使用缩进来表示代码的从属关系
if 18>19:
print('嘿嘿嘿')# 属于if判断
2.并不是所有的代码都可以有子代码(从属的代码)
目前可以有的 只有
if
else
3.如果多行代码属于同一个父代码 那么这多行代码需要属于相同属性(相同的缩进量(空格))
在python中推荐使用四个空格来表示缩进(标准)
"""如果一行代码有冒号,下一行必缩进四格"""
4.具有相同缩进量的代码按顺序进行 没有从属关系 平起平坐
分支结构
# 1.单if分支
"""
语法结构
if条件
条件成立之后执行的代码
"""
age = 48
if age > 38:
print('阿姨好')
# 2.if与else分支
age = 18
if age > 38:
print('阿姨好')
else:
print('小姐姐')
# 3.if与elif与else分支
username = input('username>>>:')
if username =='':
print('CEO')
elif username == ''
print('安保')
elif username ==''
else username ==''
print('普通员工')
"""
elif无限结果
"""
# 4.if的嵌套
if下面从属还可以写if
age = '22
is_success = True
if age < '38'
print('')
if is_success:
print('')
else:
print('')
else:
print('')
分支结构练习题
1.编写一个用户登录程序
如果用户名是nelson并且密码是7758 则打印登陆成功
如果不是则打印用户名或密码错误
username = input('请输入用户名>>>')
password = input('请输入密码>>>')
if username == 'nelson':
if password == '7758':
print('登录成功')
else:
print('用户名或密码错误!')
else:
print('你不是主人请走开')
2.编写一个成绩评判系统
如果成绩大于90 则打印优秀
大于80 良好
大于70 一般
大于60 及格
小于60 挂科
grade = input('输入成绩')
if grade > '90':
print('优秀')
elif grade > '80':
print('良好')
elif grade > '70':
print('一般')
elif grade > '60':
print('及格')
else:
print('挂科')
"""
前期写程序可以先用注释写思路 之后写对应代码
相当于将中文翻译成python代码
"""
循环结构
# while 循环
"""
语法结构
while条件
条件成立之后执行的循环体代码
1.先判断条件是否成立 如果成立立即执行循环体代码
2.循环体代码执行完毕后 再次判断条件是否成立 如果成立立即继续执行循环体代码 如果不成立立即跳出循环
"""
while True:
username = input('请输入用户名>>>')
password = input('请输入密码>>>')
if username == 'nelson' and password == '7758':
print('登录成功')
else:
print('用户名或密码错误!')
# while + break
限制次数
num = 1
while num < 4
底部
num +=1
# 如果正确结束循环应该在print下面同级加
break(直接结束本层循环)
一个break只能结束一个while(本层的)
# while + continue
利用while循环打印数字1-10 不打印4
c = 1
while c = 1:
if c == 4:
c += 1
continue
print(c)
c += 1
"""continue直接结束本次循环,回到条件判断处"""
debug模式,左键前面行数右键debug模式运行 可以将瞬间执行完成的代码变成一步步 方便检查代码编写原理
作业
"""前期编写代码 先不要考虑代码优化 实现功能即可"""
# 猜年龄小游戏(只能猜三次)
# 猜年龄小游戏
real_age = 18
num = 1
while True:
if num == 4:
quse = input('你已经尝试三次了,是否要再来一次?<Y/N>')
if quse == 'Y':
num = 1
if quse == 'N':
print('欢迎你的游玩,下次再来哦')
break
else:
continue
else:
guess_age = input('请输入年龄>>>')
guess_age = int(guess_age)
if guess_age > 18:
print('你好坏 猜大了')
elif guess_age <18:
print('没那么小啦')
else:
print('恭喜你啊猜对啦没有奖励啦')
break
num += 1
while+else
# while + else连用
当while没有被关键字break主动结束情况下
正常结束循环代码后会执行else的子代码
"""
while 条件
循环体代码
else:
循环体代码正常运行结束 则会执行该子代码块
"""
count=1
while count<10:
print(count)
count +=1
else:
print('while循环寿终正寝啦!!!')
count=1
while count<10:
if count == 4:
break
print(count)
count +=1
else:
print('while循环寿终正寝啦!!!')# else将无法执行
死循环与while的嵌套
# 死循环有些时候会极度影响电脑的性能 甚至会造成硬件的损害
死循环就是永远无法结束的循环 并且一直占用cpu
# while 的嵌套
for循环
"""
for循环可以做到的事情while循环都可以做到!!!但是for循环语法更加简单,使用频率更高
"""
name_list = ['a','b','c','d','e']
# 使用while循环依次打印所有元素
# count = 0
# while count < 5:
# print(name_list[count])
# count +=1
使用for循环则是
for name in name_list:
print(name)
一般情况下涉及到循环取值时 都会考虑到for循环
"""
语法结构
for 变量名 in for循环对象:
# 字符串,列表,字典,元组,集合
for循环的循环体代码
每次执行都会将循环对象替换为下一个元素
循环字符串:依次取出每一个字符
循环字典(特殊):只能获取所有key,无法获取value
字典和集合内部元素都是无序的{}所以取出来是无序的
针对for循环中的变量名 也应该见名知意
name_list
"""
range关键字
# 循环打印0-100
while循环
c = 0
while c < 101:
print(c)
c += 1
for循环
for i in range(101):
print(i)
#顾头不顾尾
# range 其实是一个迭代器,用于产生一个数据集合,但是节省空间
# 括号内写一个数字,从0开始
# 写两个数字用逗号隔开,从第一个数字开始
# 写三个数字,第三个数字表示等差数列的差值(爬虫用得到)
"""
什么是爬虫?
通过编写代码去网络上爬取我们需要的数据
"""
range方法在py2和py3中有区别(面试要考)
2中产生列表,元素很多情况下占用很多空间
在2中有个xrange,其实相当于3中的range
3相当于哆啦a梦的口袋,不占空间但是可以取出很多数据
for循环补充
# for+break
结束本层循环
# for+continue
结束本次,开始下一次循环
# for+else
循环结束运行else
for i in range(10)
if i == 4:
continue
print(i)
else:
print("寿终正寝了")、
# for循环的嵌套
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!