python基础-13流程控制之for循环
for
和while循环比较 for循环使用于迭代器迭代取值
为什么有了while循环,还需要有for循环呢?不都是循环吗?我给大家出个问题,我给出一个列表,我们把这个列表里面的所有名字取出来。
name_list = ['nash', 'langyigang', 'fujiachen', 'jinyi']
n = 0
while n < 4:
# while n < len(name_list):
print(name_list[n])
n += 1
# nash
# langyigang
# fujiachen
# jinyi
字典也有取多个值的需求,字典可能有while循环无法使用了,这个时候可以使用我们的for循环.
字典取key列子:
info = {'name': 'nash', 'age': 19}
for item in info:
# 取出info的keys
print(item)
# 输出结果
# name
# age
name_list = ['nash', 'langyigang', 'fujiachen', 'jinyi']
for item in name_list:
print(item)
#输出结果
# nash
# langyigang
# fujiachen
# jinyi
for循环的循环次数受限于容器类型的长度,而while循环的循环次数需要自己控制。for循环也可以按照索引取值。
print(list(range(1, 10)))
# 输出结果
# [1, 2, 3, 4, 5, 6, 7, 8, 9]
for i in range(1, 10): # range顾头不顾尾
print(i)
# 1
# 2
# 3
# 4
# 5
# 6
# 7
# 8
# 9
# for循环按照索引取值
name_list = ['nash', 'langyigang', 'fujiachen', 'jinyi']
# for i in range(5): # 5是数的
for i in range(len(name_list)):
print(i, name_list[i])
# 输出结果
# 0 nash
# 1 langyigang
# 2 fujiachen
# 3 jinyi
for + break
for循环调出本层循环。
# for+break
name_list = ['nash', 'langyigang', 'fujiachen', 'jinyi']
for name in name_list:
if name == 'langyigang':
break
print(name)
# 输出结果
# nash
for + continue
for循环调出本次循环,进入下一次循环
# for+continue
name_list = ['nash', 'langyigang', 'fujiachen', 'jinyi']
for name in name_list:
if name == 'langyigang':
continue
print(name)
# 输出结果
# nash
# fujiachen
# jinyi
for循环嵌套
外层循环循环一次,内层循环循环所有的。
# for循环嵌套
for i in range(3):
print(f'-----:{i}')
for j in range(2):
print(f'*****:{j}')
# -----:0
# *****:0
# *****:1
# -----:1
# *****:0
# *****:1
# -----:2
# *****:0
# *****:1
for + else
# for+else
name_list = ['nash', 'langyigang', 'fujiachen', 'jinyi']
for name in name_list:
print(name)
else:
print('for循环没有被break中断掉')
# nash
# langyigang
# fujiachen
# jinyi
# for循环没有break中断掉
for循环实现loading
小秀案例
import time
print('Loading', end='')
for i in range(6):
print(".", end='')
time.sleep(0.2)
# Loading......