一:for循环语句
for 变量名 in 可迭代对象:
代码一
代码二
...
可迭代对象可以是字符串、元组、列表、字典等。
for循环可以为可迭代对象中的每一个元素执行一个语句块。
例:
for i in [1,2,3]:
print(i)
# 运行结果
1
2
3
二、for循环的使用
1:循环遍历字符串、元组、列表
# 循环遍历字符串
for i in "abc":
print(i)
# 运行结果
a
b
c
# 循环遍历元组
for i in (1,2,3):
print(i)
# 运行结果
1
2
3
# 循环遍历列表
for i in [1,2,3]:
print(i)
# 运行结果
1
2
3
2:循环遍历字典
# 遍历字典中的key值
dic = {"one":1, "two":2}
for k in dic:
print(k)
# 或者
dic = {"one":1, "two":2}
for k in dic.keys():
print(k)
# 运行结果
one
two
# 遍历字典中的value值
dic = {"one":1, "two":2}
for v in dic.values():
print(v)
# 运行结果
1
2
# 遍历字典中的键值对
dic = {"one":1, "two":2}
for item in dic.items():
print(item)
# 运行结果
('one', 1)
('two', 2)
3:for循环+break
lst = [1, 2, 3, 4]
for i in lst:
if i == 3:
break
print(i)
# 运行结果
1
2
4:for循环+continue
lst = [1, 2, 3, 4]
for i in lst:
if i == 3:
continue
print(i)
# 运行结果
1
2
4
5:for循环嵌套
# 打印如下图形
# ****
# ****
# ****
# ****
for i in range(4):
for j in range(4):
print('*', end='')
print()
6:for + else的使用
当else和for结合使用,只有for能正常结束或者continue结束后,才会执行else下的语句块
当for被break终止后,不会执行else下的语句块
for i in range(3):
if i == 1:
break
print(i)
else:
print("执行")
# 输出结果为:0
# else未执行
for i in range(3):
if i == 1:
continue
print(i)
else:
print("执行")
# 输出结果为:
0
2
执行
# else被执行
例:
例一:打印九九乘法表
for i in range(1, 10):
for j in range(1, i+1):
print(f'{i}*{j}={i*j}', end=' ')
print()
print()中的end=' '表示输出的内容后,已引号中的内容间隔,默认end='\n'(换行)
输出结果:
例二:打印金字塔
如:
*
***
*****
*******
*********
代码如下:
level = 5
for i in range(level):
str1 = (2*i+1) * '*' # 每一行需要打印的'*'个数
print(str1.center(2*level+1)) # 居中,长度为:最大层级的2倍+1