控制流程之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......

posted @ 2019-08-02 21:58  旧时光清风  阅读(400)  评论(0编辑  收藏  举报