while循环,for循环

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 

你可能感兴趣的:(while循环,for循环)