for 循环
for 循环
与以死循环形式存在的 while循环
不同的是,for循环
往往以有限循环的形式存在。
for循环
的基本结构为:
for i in XXX:
循环体
其中,
for
:关键字i
:变量名in
:关键字xxx
:可迭代对象
用已有的知识,如果我们想分别打印字符串 "alex"
中的每一个字符,可以使用 while循环
来实现:
name = 'alex'
count = 0
while count < len(name):
print(name[count])
count += 1
这里补充一个知识点,函数 len()
是一个公共方法,它可以获得传入参数的长度:
>>> name = "alex"
>>> len(name)
4
如果使用 for循环
,我们可以更简便地实现目的:
name = "alex"
for i in name: # 每次循环,for都会把取到的元素赋值给i
print(i) # 打印变量i
看下面这样一个例子:
for i in "abcde":
pass
print(i)
最终打印出来的结果只有一个 e
。那是因为 for循环
本质是一个 赋值
操作,每次循环都是将可迭代对象中的一个元素 赋值
给变量。当进行最后一次循环时,字符串 "abcde"
的最后一个元素 "e"
被赋值给了变量 i
。循环结束,i
没有被重新 赋值
。虽然打印的动作不在循环体中,但不影响打印出 e
的结果。
for 循环打印九九乘法表:
for i in range(1, 10):
for j in range(1, 10):
if i >= j:
print(f"{j} * {i} = {i * j}", end=' ')
print('')
思考题:
下面的代码会打印出什么样的结果呢?
num = 5
count = 1
while num:
for i in "abc":
print(i + str(count))
count += 1
num -= 1