PY流程控制之while循环
循环就是一个重复的过程,我们人需要重复干一个活,那么计算机也需要重复干一个活。ATM验证失败,那么计算机会让我们再一次输入密码。这个时候就得说出我们的wile循环,while循环又称为条件循环。
语法
# 条件循环
while 条件
代码块
# 永真循环
while True:
代码块
永真循环会一直将代码块循环,所以引入while + break的组合
while + break
break的意思是终止掉当前层的循环,执行其他代码。
while True:
代码块1
break # 跳出while循环
代码块2 # break后代码块2正常运行
下面用登陆系统对while + break 实例运用
while True:
user = 'wzh'
pwd = '123'
inp_user = input('username: ')
inp_pwd = input('password: ')
if inp_user == user and pwd == inp_pwd:
print('login successful')
break
else:
print('username or password error')
print('while循环结束')
while + continue
continue的意思是终止本次循环,直接进入下一次循环
# 打印1-10中除了8的其他数
n = 1
while n <= 10:
if n == 8: # 当n=8时,跳出本次循环,即不打印8
continue
print(n)
n += 1
continue不能加在循环体的最后一步执行的代码,因为代码加上去毫无意义
while循环的嵌套
ATM密码输入成功还需要进行一系列的命令操作,比如取款,比如转账。并且在执行功能结束后会退出命令操作的功能,即在功能出执行输入q会退出输出功能的while循环并且退出ATM程序。
while True:
user = 'wzh'
pwd = '123'
inp_user = input('username: ')
inp_pwd = input('password: ')
if inp_user == user and pwd == 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 + else
else会在while没有被break时才会执行else中的代码。
# while+else
n = 1
while n < 3:
print(n)
n += 1
else:
print('else会在while没有被break时才会执行else中的代码')