Python 退出while循环的两种方式

上章我们实现了类似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循环的两种方式

赞 (0) 打赏

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏