循环可以用来重复执行某条语句,直到某个条件得到满足或遍历所有元素。

1 for循环

是for循环,可以把集合数据类型list、tuple、dict、set的元素遍历出来。

(1)对list进行循环

city_list = ['广州','深圳','东莞','佛山']
city_list = ['广州','深圳','东莞','佛山']
for city in city_list:
print("当前地市为:{0}".format(city))

当前地市为:广州

当前地市为:深圳

当前地市为:东莞

当前地市为:佛山

(2)对dict进行循环

city_dict = {'a':'广州','b':'深圳','s':'东莞','e':'佛山'}
for code in city_dict.keys():
city = city_dict[code]
print("{0}的车牌代号为:粤{1}".format(city,code))

广州的车牌代号为:粤a

深圳的车牌代号为:粤b

东莞的车牌代号为:粤s

佛山的车牌代号为:粤e

(3)示例:计算等差数列之和

利用for循环,计算1-20的数字之和

sum = 0
for i in range(1,21): # range(1,21)对应区间数为:[1,21)
sum += i
print('数值之和为%d'%sum)
数值之和为210

2 while循环

只要条件满足就不断循环,当条件不满足时退出循环。

(1)数值循环

n = 0
while(n < 5):
n+=1
print("当前值{0}".format(n))

当前值1

当前值2

当前值3

当前值4

当前值5

(2)示例:计算等差数列之和

利用for循环,计算1-20的数字之和

sum = 0
n = 0
while(n < 20):
n += 1
sum += n
print('数值之和为%d'%sum)

数值之和为210

3 循环嵌套

在一个循环体里面嵌入另一个循环,可以在while循环中嵌入for循环, 也可以在for循环中嵌入while循环。

示例:模拟网站登录验证过程

n = 5
pwd = "123789"
while (n > 0):
in_str = input("请输入密码:")
n -= 1
if len(in_str) < 6:
print("输出密码少于6位,剩余机会{0}次,请重新输入!".format(n))
if in_str == pwd:
print("登录成功!")
break
else:
print("输出密码错误,剩余机会{0}次,请重新输入!".format(n))
if n == 0:
print("登录失败,请稍候再试!")

请输入密码:123

输出密码少于6位,剩余机会4次,请重新输入!

输出密码错误,剩余机会4次,请重新输入!

请输入密码:123567

输出密码错误,剩余机会3次,请重新输入!

请输入密码:123789

登录成功!