什么是循环结构?
循环就是重复做同一件事情,计算机的特点就是擅长按照指定的规则,重复工作。
比如,让计算机输出 1 2 3 ... 100,同学们可以使用 100 个 print 语句输出,那么,如果数据范围更大呢,仅仅靠复制粘贴 print 也是极大地工作量。如果是一个天文数字,那么人类在有生之年都无法完成。
while循环
while 译为“当...时候”,即后面条件成立,就会一直执行循环。
无限循环
无限循环,也叫做死循环,永远没有停止,这在程序中是禁止出现的。
while True:
print("Hello cat.")
输出 1-100
i = 1
while i <= 100:
print(i)
i += 1
for循环
for遍历字符串
for i in "Hello cat.":
print(i)
for遍历列表
for i in [1, 2, 3, "hello", "cat"]:
print(i)
for遍历range
range是范围,在 Python3 中,range 返回一个对象。
>>> range(10)
range(0, 10)
>>> list(range(10))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
range(n) 得到的数字范围为 [0, n)
for i in range(10):
print(i, end=" ")
输出:
0 1 2 3 4 5 6 7 8 9
range(m, n) 的范围 [m, n)。
range(m, n, step) 步长为 step。
如果 m > n,step 需要为负数。
for i in range(1, 10, 2):
print(i, end=" ")
print()
for i in range(10, 1, -2):
print(i, end=" ")
输出:
1 3 5 7 9
10 8 6 4 2
循环嵌套
循环里面嵌循环及判断。
打印一行 n 个星号:
n = 10
for i in range(n):
print("*", end="")
打印一个 n*m 的矩形:
n = 3
m = 5
for i in range(n):
for j in range(m):
print("*", end="")
print()
外层循环代表行,内层循环代表列。
打印直角边长为 n 的等腰直角三角形:
n = 5
for i in range(n):
for j in range(i + 1):
print("*", end="")
print()
打印九九乘法口诀表:
for i in range(1, 10):
for j in range(1, i + 1):
print("%d *%2d=%2d" % (j, i, j * i), end=" ")
print()
输出:
1 * 1= 1
1 * 2= 2 2 * 2= 4
1 * 3= 3 2 * 3= 6 3 * 3= 9
1 * 4= 4 2 * 4= 8 3 * 4=12 4 * 4=16
1 * 5= 5 2 * 5=10 3 * 5=15 4 * 5=20 5 * 5=25
1 * 6= 6 2 * 6=12 3 * 6=18 4 * 6=24 5 * 6=30 6 * 6=36
1 * 7= 7 2 * 7=14 3 * 7=21 4 * 7=28 5 * 7=35 6 * 7=42 7 * 7=49
1 * 8= 8 2 * 8=16 3 * 8=24 4 * 8=32 5 * 8=40 6 * 8=48 7 * 8=56 8 * 8=64
1 * 9= 9 2 * 9=18 3 * 9=27 4 * 9=36 5 * 9=45 6 * 9=54 7 * 9=63 8 * 9=72 9 * 9=81
其中,%2d 占位符为数字站两个字符宽度。
疯狂刷题
- P174 循环求和
- P175 输出偶数
- P176 输出奇偶数之和
- P173 求平均年龄
- P177 求阶乘
- P178 均值
- P179 求整数的和与均值
- P180 最高的分数
- P181 最大跨度值
- P182 奥运奖牌计数
- P183 奇数求和