1. 流程控制之while循环
1.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("登录失败,请重新输入。")
本段代码提示用户输入用户名和密码登录,如果输入成功,则提示登录成功,如果输入错误,则提示登录失败,请重新输入,但问题是几十登录成功,也是让你继续输入。
1.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会终止当前循环,并执行循环后的代码,所以当我们登录成功后,循环不再进行,程序结束。
1.3 while+continue
continue的意思是结束本次循环,继续进行下次循环,可以从下面的代码比较continue与break的不同之处:
# 输入数字,当输入为偶数时结束
while True:
choice = int(input("请输入数字:")) #输入字符串,并转换为整型
if choice % 2 == 0: # 输入偶数,结束循环
break
else: # 输入奇数,继续下次循环
continue
print("结束")
1.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中的代码
2. 流程控制之for循环
2.1. 语法
while循环可以对任何内容循环,但循环次数不可控
for循环基于容器类型的长度,循环次数可控制
'''
for i in range(n):
<代码块>
<代码块>
'''
2.2 for+break
for+break的用法及作用原理同while+break,都是跳出循环,并执行循环后的代码
2.3 for+continue
for+continue的用法及作用原理同while+continue,都是结束本次循环,并执行下次循环,具体看下面的例子:
# 输入数字,当输入为偶数时结束
for i in range(100):
choice = int(input("请输入数字:")) #输入字符串,并转换为整型
if choice % 2 == 0: # 输入偶数,结束循环
break
else: # 输入奇数,继续下次循环
continue
print("结束")
2.4 for循环嵌套
这里我们使用for循环嵌套打印9*9乘法表,具体用法如下:
for i in range(1, 10):
for j in range(1, i + 1):
print(f'{j}*{i}={i * j:<2}', end=' ')
print('')
执行结果如下:
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81