我回来了!今天我们来学——嵌套循环、解包enumerate对象
先看嵌套循环。就是循环内有循环。举个例子:
>>> for i in range(2):
for j in range(2):
print("Python")
Python
Python
Python
Python
我们可以发现,嵌套循环的执行总次数是第一层循环执行次数×第二层循环执行次数×…×第n层循环执行次数。
但同时,缩进很重要!!!!!不好好缩进会报错!!!!!
这样我们就能打印九九乘法表了。
#Program_121
for i in range(1, 10): #循环
for j in range(1, 10): #循环
print(f"{j}×{i}={j * i}", end="\t") #打印乘法算式
print() #换行
"""
控制台:
1×1=1 2×1=2 3×1=3 4×1=4 5×1=5 6×1=6 7×1=7 8×1=8 9×1=9
1×2=2 2×2=4 3×2=6 4×2=8 5×2=10 6×2=12 7×2=14 8×2=16 9×2=18
1×3=3 2×3=6 3×3=9 4×3=12 5×3=15 6×3=18 7×3=21 8×3=24 9×3=27
1×4=4 2×4=8 3×4=12 4×4=16 5×4=20 6×4=24 7×4=28 8×4=32 9×4=36
1×5=5 2×5=10 3×5=15 4×5=20 5×5=25 6×5=30 7×5=35 8×5=40 9×5=45
1×6=6 2×6=12 3×6=18 4×6=24 5×6=30 6×6=36 7×6=42 8×6=48 9×6=54
1×7=7 2×7=14 3×7=21 4×7=28 5×7=35 6×7=42 7×7=49 8×7=56 9×7=63
1×8=8 2×8=16 3×8=24 4×8=32 5×8=40 6×8=48 7×8=56 8×8=64 9×8=72
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
"""
(额,好像哪里有点不对劲儿……算了,先这样吧!)
用while循环也能实现同样效果。
#Program_122
number1 = 1 #将1赋值给变量number1
while number1 < 10: #当number1小于10时,重复执行:
number2 = 1 #将1赋值给变量number2
while number2 < 10: #当number2小于10时,重复执行:
print(f"{number2}×{number1}={number2 * number1}", end="\t") #输出乘法算式
number2 += 1 #number2加1
print() #换行
number1 += 1 #number1加1
"""
控制台:
1×1=1 2×1=2 3×1=3 4×1=4 5×1=5 6×1=6 7×1=7 8×1=8 9×1=9
1×2=2 2×2=4 3×2=6 4×2=8 5×2=10 6×2=12 7×2=14 8×2=16 9×2=18
1×3=3 2×3=6 3×3=9 4×3=12 5×3=15 6×3=18 7×3=21 8×3=24 9×3=27
1×4=4 2×4=8 3×4=12 4×4=16 5×4=20 6×4=24 7×4=28 8×4=32 9×4=36
1×5=5 2×5=10 3×5=15 4×5=20 5×5=25 6×5=30 7×5=35 8×5=40 9×5=45
1×6=6 2×6=12 3×6=18 4×6=24 5×6=30 6×6=36 7×6=42 8×6=48 9×6=54
1×7=7 2×7=14 3×7=21 4×7=28 5×7=35 6×7=42 7×7=49 8×7=56 9×7=63
1×8=8 2×8=16 3×8=24 4×8=32 5×8=40 6×8=48 7×8=56 8×8=64 9×8=72
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
"""
或者输出一个奇怪的三角形。
#Program_123
for i in range(1, 11): #循环
for j in range(1, 11): #循环
if j <= i: #当j小于等于i:
print("○", end="") #输出"○"
print() #换行
"""
控制台:
○
○○
○○○
○○○○
○○○○○
○○○○○○
○○○○○○○
○○○○○○○○
○○○○○○○○○
○○○○○○○○○○
"""
好了,嵌套循环到此为止。接下来来解包enumerate对象。
对了,差点忘了。生成enumerate对象还能填另一个参数。
>>> enumerate_ = enumerate(["turtle", "lizard", "frog"], start=10)
>>> print(list(enumerate_))
[(10, 'turtle'), (11, 'lizard'), (12, 'frog')]
没错,就是start。我相信不用我说你们就知道什么意思了。那我就不讲了(哔——)。
我们可以用循环来解包它。还是用这个对象举例子。
#Program_124
enumerate_ = enumerate(["turtle", "lizard", "frog"], start=10) #建立enumerate对象
list_ = list(enumerate_) #enumerate对象转换成列表
for number, animal in list_: #循环
print(f"I have {number} {animal}s.") #输出
"""
控制台:
I have 10 turtles.
I have 11 lizards.
I have 12 frogs.
"""
当然,我没这么多宠物。不过也不影响我举例子!
好了,今天就到这儿。我是谢pro,拜拜~