1.介绍循环
循环:重复做一件事。
我们在程序中要想重复做一件事时,总不能将相同的代码复制多份,利用循环可以巧妙的解决这个问题。
2.while循环的基本使用
基本语法:
代码块1
while 条件:
代码块2
代码块3
拿上述伪伪代码来说,代码块1执行完后到了while循环,判断条件是否成立,
如果成立执行代码块2,然后继续判断条件是否成立,如果成立的话,再执行代码块2,
然后判断条件是否成立,以此类推。当条件不成立时就会退出循环,执行代码块3。
ps:因为while循环的次数取决于条件,所以while循环也可以叫条件循环。
流程图:
3.死循环
死循环:顾名思义,循环陷入死局,无法打破。当while条件恒为真时,while循环就会变成一个死循环
eg:
while True: #条件恒为真
print(111)
如果死循环中的代码是纯计算而无IO操作,会带来严重的效率问题。
但如果我们迫不得已要写死循环,推荐写法:
while 1:
...
...
3.打破循环
打破循环有两种方式:1.改变条件为False 2.break
1.break---->打破本层循环
流程图:
需求:获取用户输入,如果账号和密码正确提示登录成功并退出,否则一直让用户进行登录
代码:
1.使用break
name = "yhr"
password = "123"
while 1:
name_input = input("请输入用户名:")
password_input = input("请输入密码:")
if name == name_input and password == password_input:
print("登录成功")
break
else:
print("用户名或密码错误")
2.改变条件
flag =True
name = "yhr"
password = "123"
while flag:
name_input = input("请输入用户名:")
password_input = input("请输入密码:")
if name == name_input and password == password_input:
print("登录成功")
flag = False
else:
print("用户名或密码错误")
2.continue---->打破本次循环
流程图:
需求:输入1-10,4跳过
count = 1
while count <= 10:
if count == 4:
count += 1
continue
print(count)
count += 1
注意:continue后边的同级代码无意义,因为不会执行
4.补充内容
1.while else
用法:
while 条件:
...
...
else:
...
当while循环结束后,会执行else中的内容
实例代码:
count = 1
while count <= 10:
if count == 4:
count += 1
continue
print(count)
count += 1
else:
print("结束了")
结果如下:
2.while循环的嵌套
理论上循环可以无限嵌套,但是最好不要超过三层,随着循环层数的增加,程序的时间复杂度越来越大,影响效率。
示例代码:
count1 = 1
count2 = 1
count3 = 1
while count1 <= 5:
print("count1:",count1)
while count2 <= 5:
print("count2:",count2)
while count3 <= 5:
print("count3:",count3)
count3 += 1
count2 += 1
count1 += 1
结果为: