Python基础之流程控制while循环

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中的代码
原文地址:https://www.cnblogs.com/zj420255586/p/11285497.html