while True 是python中经常会被应用到。下面通过个例子进行解释:
下面是阿里云的子账户登陆界面,在输入账户时候会要求,账户名称内必须包含 ’ @ ‘,否者认为是无效账户,并提示要重新输入账户。
#方法一:
name = input("请输入您的用户名:")
if '@'not in name:
print('您输入的用户名格式不正确,请重新输入')
#方法二:
while True:
name = input('请输入您的用户名:')
if '@'in name:
break
else:
print('您输入的用户名格式不正确,请重新输入')
')
continue
#方法一是最简单的逻辑判断,但是现实中用户总会偶尔输错格式,那么我们就可以直接引用方法二来实现无限循环,直到用户的格式是正确的。
运行代码:
这里我输入的前两次的用户名都不包含’@‘,所以要求重新输入。但是第三次的时候我的用户名是包含’@‘的,所以不再提示,之后进入下面这个界面。
在这里我们需要输入用户对应的密码,假设要求无限次的输入,直到正确为止。
我们同样的也可以引用 while true 来实现。
d = {'evanwang@alibaba.or':123456} #设置了字典。
while True:
password = input('请输入您的密码:')
if d[name] == password:
print('进入系统')
break
else:
print('您输入的密码不正确,请重新输入')
continue
切记:while True 语句中一定要有结束该循环的break语句,否则会一直循环下去的。
完整代码:
d = {'evanwang@alibaba.or':123456} #设置了字典。
while True:
name = input('请输入您的用户名:')
if '@'in name:
break
else:
print('您输入的用户名格式不正确,请重新输入')
continue
while True:
password = input('请输入您的密码:')
if d[name] == password:
print('进入系统')
break
else:
print('您输入的密码不正确,请重新输入')
continue