控制流程之for循环
控制流程之for循环
一、语法
为什么有了while循环,还需要有for循环呢?因为字典也有取多个值的需求,字典可能有while循环无法使用了,for循环的循环次数受限于容器类型的长度,而while循环的循环次数需要自己控制。for循环也可以按照索引取值。
name_list = ['nick', 'jason', 'tank', 'sean']
n = 0
while n < 4:
# while n < len(name_list):
print(name_list[n]) #变量名后面的方括号可直接规定范围
n += 1
nick
jason
tank
sean
也可用for循环(for循环也就是把列表中的元素循环一遍,然后赋值给i,所以有多少个元素就循环多少次)
name_list = ['nick', 'jason', 'tank', 'sean']
for i in name_list:
print(i)
nick
jason
tank
sean
也可用fo
用 for循环字典(注意取出的是 key)
info = {'name': 'nick', 'age': 19}
for item in info:
# 取出info的keys
print(item)
此处提到一个函数语法
python range() 函数可创建一个整数列表,一般用在 for 循环中
range(开始,停止,步长) #顾头不顾尾
列如:
>>>range(10) # 从 0 开始到 10
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> range(1, 11) # 从 1 开始到 11
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> range(0, 30, 5) # 步长为 5
[0, 5, 10, 15, 20, 25]
>>> range(0, 10, 3) # 步长为 3
[0, 3, 6, 9]
>>> range(0, -10, -1) # 负数
[0, -1, -2, -3, -4, -5, -6, -7, -8, -9]
>>> range(0)
[]
>>> range(1, 0)
[]
for i in range(0, 10):
print(i)
1
2
3
4
5
6
7
8
9
for循环按照索引号取值
以下是 range 在 for 中的使用,循环出runoob 的每个字母:
x = 'runoob'
for i in range(len(x)) :
print(x[i])
u
n
o
o
b
二、for + break
for循环跳出本次循环,进入下一个循环
name_list = ['nick', 'jason', 'tank', 'sean']
for name in name_list:
if name == 'jason':
continue
print(name)
nick
三、for + continue
for循环调出本次循环,进入下一次循环
# for+continue
name_list = ['nick', 'jason', 'tank', 'sean']
for name in name_list:
if name == 'jason':
continue
print(name)
nick
tank
sean
四、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循环没有break的时候触发else内部代码块
# for+else
name_list = ['nick', 'jason', 'tank', 'sean']
for name in name_list:
print(name)
else:
print('for循环没有被break中断掉')
nick
jason
tank
sean
for循环没有break中断掉
六、for循环实现loading
import time
print('Loading', end='')
for i in range(6):
print(".", end='')
time.sleep(0.2) #sleep 为一个函数,为时间延迟0.2秒
Loading......
不惧风浪,无所畏惧!