1. 语法
最简单的while循环如下:
'''
while <条件>:
<代码块>
<代码块>
'''
user_name = 'admin'
user_pwd = '123'
while True:
login_name = input("请输入用户名:")
login_pwd = input("请输入密码:")
if login_name == user_name and login_pwd == user_pwd:
print("登录成功!")
else:
print("登录失败,请重新输入。")
本段代码提示用户输入用户名和密码登录,如果输入成功,则提示登录成功,如果输入错误,则提示登录失败,请重新输入,但问题是几十登录成功,也是让你继续输入。
2. while+break
为了解决1.1中的问题,我们将上述代码按while+break的格式改进,具体如下:
'''
while <条件>:
<代码块>
break
<代码块>
'''
user_name = 'admin'
user_pwd = '123'
while True:
login_name = input("请输入用户名:")
login_pwd = input("请输入密码:")
if login_name == user_name and login_pwd == user_pwd:
print("登录成功!")
break
else:
print("登录失败,请重新输入。")
break会终止当前循环,并执行循环后的代码,所以当我们登录成功后,循环不再进行,程序结束。
3. while+continue
continue的意思是结束本次循环,继续进行下次循环,可以从下面的代码比较continue与break的不同之处:
# 输入数字,当输入为偶数时结束
while True:
choice = int(input("请输入数字:")) #输入字符串,并转换为整型
if choice % 2 == 0: # 输入偶数,结束循环
break
else: # 输入奇数,继续下次循环
continue
print("结束")
4. while+else
else会在while中没有被break时才会执行else中的代码,具体可参考下面的例子:
# while+else
n = 1
while n < 3:
print(n)
n += 1
else:
print('else会在while没有被break时才会执行else中的代码')
执行结果为:
1
2
else会在while没有被break时才会执行else中的代码