流程控制之while循环
一、语法
循环就是一个重复的过程,我们人需要重复干一件事,那么计算机亚需要重复干一件事。ATM验证失败,那么计算机就会让我们再一次输入密码。这时候就要说我们的while循环,while循环有称作天剑循环。
while 条件
code 1
code 2
code 3
...
while True:
print('*1'*100)
print('*2'*100
#代码:
while True:
name = 'lwx'
pwd = '520'
inp_name = input('username:')
inp_pwd = input('password:')
if inp_name == name and inp_pwd ==pwd:
print('login successful!')
else:
print('username or password error!')
#结果:
username:lwx
password:520
login successful!
username:
上述代码虽然实现了功能,但是用户面输对了,它也会继续输入,需要进行改进
二、while+break
break的意思是终止掉当层的循环,执行其他代码
#代码:
while True:
print('1')
print('2')
break
print('3')
#结果:
1
2
上述代码的break毫无意义,循环的目的是为了让计算机和人一样工作,循环处理事情,而它直接打印1和2之后就退出循环了。而我们展示下有意义的while+break代码的组合
#代码:
while True:
name = 'lwx'
pwd = '520'
inp_name =input("username:")
inp_pwd = input("password:")
if inp_name ==name and inp_pwd == pwd:
print('login successful!')
break
else:
print('username orpassword error!')
print('退出了while循环')
#结果:
username:lwx
password:520
login successful!
退出了while循环
三、while+continue
continue的意思是终止本次循环,直接进入下一次循环
#代码:
n = 1
while n<4:
print(n)
n+=1
#结果:
1
2
3
#代码:
n = 1
while n<10:
if n==8:
continue
print(n)
n+=1
#结果:
1
2
3
4
5
6
7
continue不可以加在循环的最后一步执行,这样加上去是毫无意义的,如下所示的continue所在的位置就是毫无意义的,注意:是随后一步执行的代码,而是不是最后一行
while True:
if 条件1:
code1
code2
code3
...
else:
code1
code2
code3
...
continue
四、while循环的嵌套
#代码:
#退出内层循环的while循环嵌套
while True:
name = 'lwx'
pwd = '520'
inp_name = input("username:")
inp_pwd = input("password:")
if inp_name == name and inp_pwd == pwd:
print('login successful!')
while True:
cmd = input("请你输入需要的命令:")
if cmd =='q':
break
print(f'{cmd} 功能执行')
else:
print('username or password error!')
print("退出了while循环R")
#结果:
username:lwx
password:520
login successful!
请你输入需要的命令:q
username:
#代码:
#退出双层循环的while循环嵌套
while True:
name = 'lwx'
pwd = '520'
inp_name = input("username:")
inp_pwd = input("password:")
if inp_name == name and inp_pwd == pwd:
print('login successful!')
while True:
cmd = input("请你输入需要的命令:")
if cmd =='q':
break
print(f'{cmd} 功能执行')
break
else:
print('username or password error!')
print("退出了while循环R")
#结果:
username:lwx
password:520
login successful!
请你输入需要的命令:q
退出了while循环
五、tag控制循环退出
#代码:
#tag控制循环退出
tag = True
while tag:
name = 'lwx'
pwd = '520'
inp_name = input("username:")
inp_pwd = input("password:")
if inp_name == name and inp_pwd ==pwd:
print("login successful!")
while tag:
cmd = input("请输入你需要的命令:")
if cmd =='q':
tag = False
print(f'{cmd} 功能执行')
else:
print('username or password error')
print("退出了while循环")
#结果:
username:lwx
password:520
login successful!
请输入你需要的命令:q
q 功能执行
username or password error
退出了while循环
六、while+else
#代码:
#while+else
n = 1
while n<3:
print(n)
n+=1
else:
print('else会在while没有被break时执行else的代码')
#结果:
1
2
else会在while没有被break时执行else的代码