python全栈三期介绍(零基础Python到全栈-while循环嵌套)
python全栈三期介绍(零基础Python到全栈-while循环嵌套)你可以把所有循环的条件都设置成同一个变量,然后只要这个变量已被改变,那所有循环的条件都不成立了,最后就会结束循环。username = '110119' password = '123456' while True: input_username = input('请输入你的账号:') input_password = input('请输入你的密码:') if input_username == username and input_password: print("登入成功") while True: action = input('请输入你的操作') if action == 'x
这章我们讲while的循环嵌套。我们先来看上章的代码。
username = '110119'
password = '123456'
while True:
input_username = input('请输入你的账号:')
input_password = input('请输入你的密码:')
if input_username == username and input_password:
print("登入成功")
break
else:
print('用户名或密码错误,请注意格式大小写')
这段代码一开始让用户输入账号密码,如果账号密码不对,就会让你一直输入,我们先不考虑输错的次数限制,限定次数改条件就好了,这个很简单。
现在我们就让它输错了就一直输,直到输对了。输入对了之后我们是不是就登入到了QQ界面了 这时候我们就可以进行各种操作了,比如找你的男朋友、女朋友聊天,看他们的朋友圈等等。
那我是不是可以和女朋友聊完天之后再去看她的QQ空间,或者再执行其它的操作,都是可以的。
也拒收说,登入成功之后,不应该立马结束循环,而是应该进入另一个循环。这个循环就专门用来循环你的各种操作。
我可以这样来写代码,在登入成功下面再写一个while循环,但是这样写有个问题,就是它会让你一直输入操作。也就是代码运行到第二个while就变成死循环了,只能输入各种操作,没有退出机制。
username='110119'
password='123456'
while True:
input_username=input('请输入你的账号:')
input_password=input('请输入你的密码:')
if input_username==username and input_password:
print("登入成功")
while True:
action = input('请输入你的操作')
print(f'正在看{action}')
break
else:
print('用户名或密码错误,请注意格式大小写')
里面的循环结束碧聊就运行不到外层循环的break,导致外层的循环也结束不了,所以我们应该写个退出机制。比如我输入个xxx,就会退出循环。我们来打印试试。
username = '110119'
password = '123456'
while True:
input_username = input('请输入你的账号:')
input_password = input('请输入你的密码:')
if input_username == username and input_password:
print("登入成功")
while True:
action = input('请输入你的操作')
if action == 'xxx':
break
print(f'正在看{action}')
break
else:
print('用户名或密码错误,请注意格式大小写')
如果当你是使用break结束嵌套多层的while循环,那每次层都要配一个break,这样感觉上是有一点麻烦。我们前面还讲了另一种结束循环的方法。
你可以把所有循环的条件都设置成同一个变量,然后只要这个变量已被改变,那所有循环的条件都不成立了,最后就会结束循环。
对比另一种结束循环的方法,还是break这种结束循环的方法比较常用。