上章我们实现了类似QQ登入的功能,但是还是有点小瑕疵。
这章我们来详细的讲解一下输入正确之后怎么退出循环。实现的方法有两种,先来看第一种。
我们知道while循环能够运行,首先肯定是取决于它的条件,当条件为True的时候,循环就会运行,反过来说也就是当条件变成False的时候,循环自然也就退出了。
所以方法一就很简单了,也就是只要达到了我们要的效果的时候,就用代码把条件改成Fasle就可以了。
那我们怎么改呢,如果要改那就要用到变量这个概念了。我们把True赋值给condition,完后while condition。
condition=True
while condition:
username = '110119'
password = '123456'
input_username = input('请输入你的账号:')
input_password = input('请输入你的密码:')
if input_username == username and input_password:
print("登入成功")
else:
print('用户名或密码错误,请注意格式大小写')
现在我们就可以对他进行修改了,就是当打印登入成功之后,就不应该再循环第二次了,所以我在打印‘登入成功’后面,把condition改成False。
username = '110119'
password = '123456'
condition=True
while condition:
input_username = input('请输入你的账号:')
input_password = input('请输入你的密码:')
if input_username == username and input_password:
print("登入成功")
condition=False
else:
print('用户名或密码错误,请注意格式大小写')
注意你这个把condition=False不能乱放,如果你放在while下面,就相当于是循环开始之后直接把条件改成False。
condition = True
while condition:
condition = False #(不允许放在这里)
现在我们来打印一下试试。先是登入失败,显示登入失败后让你重新输入账号密码。
接下来输入正确的账号密码。登入成功之后,注意不是直接退出循环,而是代码运行到condition=False,在返回while condition判断,结果是False才会退出循环。
我们再来看结束循环的第二种方式,while加break的方式。
这个方式和我们刚刚讲的方式完全不一样了,刚刚讲的是会把当前循环体的代码全部执行完毕后,下一次判断的时候才会终止循环,而break这种方式是主要代码运行到break,就会立即退出本层循环,注意是本层循环。
break后面的本层的循环替代码不再执行,言外之意就是循环也是可已嵌套的。循环嵌套我们后面再说。
我们先来看break怎么使用。
username='110119'
password='123456'
while True:
input_username=input('请输入你的账号:')
input_password=input('请输入你的密码:')
if input_username==username and input_password:
print("登入成功")
break
else:
print('用户名或密码错误,请注意格式大小写')
我们先来运行看看,还是先输入错误的账号密码。还是和上面的运行一样,错误之后重新循环让你输入正确的账号密码。
再来输入正确的账号密码。输入正确的账号密码之后,循环就结束了。
这就是退出while循环的两种方式。
未经允许不得转载:445IT之家 » Python 退出while循环的两种方式