for循环的使用
- for xx in xxx,表示从xxx中取出一个子元素xx,代表一种遍历作用。
- xxx可以为字符串,列表,元组,甚至有时候是字典
- xx可以为任意变量名称,如x,i,j等等
- 需要用冒号和缩进符控制需要循环的语句块
for x in range(5):
print(x)
for i in 'abcd':
print(i)
"""
# 输出结果
0
1
2
3
4
a
b
c
d
"""
- for 循环常和列表放在一起构成列表表达式,列表表达式可以方便快捷的生成新列表
list2 = [] # 构建一个空列表,用来储存新列表
for x in range(5):
list2.append(x ** 2)
list3 = [x**2 for x in range(5)] # 和上面三行代码效果一样
print(list2)
print(list3)
"""
# 输出结果
[0, 1, 4, 9, 16]
[0, 1, 4, 9, 16]
"""
# 打印9*9乘法口诀
for i in range(1, 10): # 用来控制有多少行
for j in range(1, i+1): # 用来控制每行有多少个数
print('{}x{}={}'.format(i, j, i*j), end='\t') # 为了显示在一行,这里用水平制表符隔开
print('') # 需要一个回车,因为这一列输出完了
"""
# 输出结果
1x1=1
2x1=2 2x2=4
3x1=3 3x2=6 3x3=9
4x1=4 4x2=8 4x3=12 4x4=16
5x1=5 5x2=10 5x3=15 5x4=20 5x5=25
6x1=6 6x2=12 6x3=18 6x4=24 6x5=30 6x6=36
7x1=7 7x2=14 7x3=21 7x4=28 7x5=35 7x6=42 7x7=49
8x1=8 8x2=16 8x3=24 8x4=32 8x5=40 8x6=48 8x7=56 8x8=64
9x1=9 9x2=18 9x3=27 9x4=36 9x5=45 9x6=54 9x7=63 9x8=72 9x9=81
"""
for循环的打断
# 演示打印前5个数
for i in range(10):
if i == 5:
break # 如果i等于5,退出本次循环
else:
print(i)
"""
输出结果:
0
1
2
3
4
"""
# 演示打印奇数
for i in range(10):
if i % 2 == 0: # 如果为偶数,跳过
continue
else:
print(i) # 否则才打印
"""
输出结果:
1
3
5
7
9
"""
- pass:用来占一个位置,不具有实际意义,若后面有代码仍然会执行
# 演示pass占位功能
for i in range(10):
pass
"""
输出结果:
"""
# 演示pass占位功能
for i in range(5):
pass
print(i)
"""
输出结果:
0
1
2
3
4
"""
- for后面也可以接else,表示循环结束后应该要执行的代码
for i in range(3):
print(i)
else:
print('循环已经结束')
"""
输出结果:
0
1
2
循环已经结束
"""
while循环
- 翻译为当什么什么时候就执行循环,可以理解为条件循环
- while后面接布尔值
- while也可以接else
- while打断同for,也可以用break, continue
# 计算银行存款利息多少年才能翻倍
i = 0.05 # 假设银行利息为5%
s = 1000 # 本金为1000
n = 0 # n为存款年限
while s < 2000:
n += 1 # 等同于n=n+1
s = s * (1+i)
else:
print('循环结束') # while也可以接else
print('{}年后你的本息和翻倍'.format(n))
"""
# 输出结果:
循环结束
15年后你的本息和翻倍
"""
for和while的区别
- for知道要循环多少次,而while不知道
- for循环为遍历循环,通常为遍历字符串,列表,元祖、甚至字典
- while循环为条件循环,只要条件成立,就可以一直循环下去
文章评论