流程控制循环
流程控制之while循环
这里很多人有都会有个疑问,什么是循环?
循环就是一个重复的过程,就像工厂里面的流水线的工人,重复做个同一件事,那么就这事循环。而计算机的循环就是重复干一个活,可以举一个实例,就像我们QQ登录帐号或密码输入错误,你可以再一次输入,这就是一个循环!
语法
'''
while(当) <条件>:
<需要进行重复的代码块> # 当条件成立时会进行运行,结束完代码块后会再一次判断条件,成立再运行,运行完再判断条件,%
'''
#运用while循环做一个猜年龄游戏
age = 16
while True:
inp_age = input('age:')
inp_age = int(inp_age)
if inp_age > age:
print('猜大了')
elif inp_age < age:
print("猜小了")
else:
print("猜对了")
#这是一个死循环,因为无论你输入什么都无法退出。除非你触发bug
while + break
这里会有人有疑问,break是什么? 从break本意来看,就是打破,所以不难理解break有什么用!
语法
'''
while(当) <条件>:
<需要进行重复的代码块> # 当条件成立时会进行运行,结束完代码块后会再一次判断条件,成立再运行,运行完再判断条件,%
break # 遇到break后终止while循环
'''
age = 16
#这里来对猜年龄游戏做一个修改,当猜对了就退出
while True:
print(1) # 1
inp_age = input('age:') # '16'
inp_age = int(inp_age) # 16
if inp_age > age: #
print('猜大了')
elif inp_age < age: #
print('猜小了')
else:
print('猜对了')
break # 不运行下面的代码,并且跳出循环
print('hello')
#当触发break之后会执行循环外的代码,可以说while是一行代码,之后的是其他代码。
while + continue
这里会有人有疑问,continue是什么? 从break本意来看,就是继续,所以不难理解continue有什么用!
语法
'''
while(当) <条件>:
<需要进行重复的代码块> # 当条件成立时会进行运行,结束完代码块后会再一次判断条件,成立再运行,运行完再判断条件,%
continue # 遇到continue后直接开始下一次while循环
'''
#这里让我们来输出1-10 并且跳过5,这里可能会有人想跳过5,怎么跳呢?当你学会使用continue,你就会发现十分简单
count = 0
while True:
count += 1
if count == 5: #
continue # 继续,跳出本次循环,不运行下面的代码,直接开始下一次循环
if count == 11:
break
print(count)
while + else
count = 0
while count < 10:
count += 1
if count == 1111111111111:
break # break除了干掉while循环,还会干掉else
print(count)
else:
print("当while循环没有被break的时候我会触发,但尽量不要使用我")
while循环的嵌套
就是之前的 if 一样,while循环也有他的嵌套。
ATM密码输入成功还需要进行一系列的命令操作,比如取款,比如转账。并且在执行功能结束后会退出命令操作的功能,即在功能出执行输入q会退出输出功能的while循环并且退出ATM程序。
# 退出内层循环的while循环嵌套
while True:
user_db = 'nick'
pwd_db = '123'
inp_user = input('username: ')
inp_pwd = input('password: ')
if inp_user == user_db and pwd_db == inp_pwd:
print('login successful')
while True:
cmd = input('请输入你需要的命令:')
if cmd == 'q':
break
print(f'{cmd} 功能执行')
else:
print('username or password error')
print('退出了while循环')
# 退出双层循环的while循环嵌套
while True:
user_db = 'nick'
pwd_db = '123'
inp_user = input('username: ')
inp_pwd = input('password: ')
if inp_user == user_db and pwd_db == inp_pwd:
print('login successful')
while True:
cmd = input('请输入你需要的命令:')
if cmd == 'q':
break
print(f'{cmd} 功能执行')
break
else:
print('username or password error')
print('退出了while循环')
username: nick
password: 123
login successful
请输入你需要的命令:q
退出了while循环
流程控制之for循环
循环:重复干一件事,for循环可以是所以容器数据类型
语法
'''
while:
1. 会进入死循环(不可控),尽量少使用while循环
2. 世间万物都可以作为循环的对象
for:
1. 不会进入死循环(可控),以后尽量使用for循环
2. 只对容器类数据类型+字符串循环(可迭代对象)
'''
lis = ['gebilaowang', 'dapao', 'yongjiushuaige','dsb']
for i in lis: # i='gebilaowang' # i='dapao'
print(i) # i='gebilaowang' # i='dapao'
print(1)
for i in 'nick':
print(i)
# 这里补充一个内置函数range,不做过多的说明
print(list(range(3))) # 0,1,2
print(list(range(10))) # 0,1,2..9
print(list(range(2,5))) # 2,3,4 # 顾头不顾尾
print(list(range(3,6))) # 3,4,5 # 顾头不顾尾
print(list(range(3,7,3))) # 3,6 # 顾头不顾尾
print(list(range(1,10,2))) # 1,3,5,7,9 # 顾头不顾尾
for + break
前面while已经介绍过break,for的break也是一样的
for i in range(1,11): # 1,2,3,4,5
print(i)
if i == 5:
break #跳出循环
for + continue
前面while已经介绍过continue 也就不做过多的说明了
for i in range(1,11): # 1,2,3,4,6,7,8,9,10
if i == 5:
continue #跳出本次循环
print(i)
for + else
前面while已经介绍过else,也就不做过多的说明了
for i in range(1,11): # 1,2,3,4,6,7,8,9,10
if i == 5:
break #跳出本次循环
print(i)
else: # 没有被break会触发
print('hello,你居然运行到了else')
补充
这里在补充一个for循环实现loading......
#这里用了一个内置函数time,来控制执行的间隔时间
import time
print('Loading',end='')
for i in range(6):
print('.',end='') # ...
time.sleep(0.5)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!