1首先演练最基本的for循环遍历:
设置变量count来记录for循环遍历次数
count = 0 #记录共循环了几次
for a in range(6):
print(a,end= ' ')
count += 1
print()
print(f"\n共遍历了{count}次")
运行结果
2,加入第二层for循环,也就是for 循环嵌套
count = 0 #记录共循环了几次
for a in range(6):
for b in range(1,5):
print(b,end= ' ')
count += 1
print()
print(f"\n共遍历了{count}次")
运行结果
3,加入第三层for循环嵌套
count = 0 #记录共循环了几次
for a in range(6):
for b in range(1,5):
for c in range(3,8):
print(c,end= ' ')
count += 1
print()
print(f"\n共遍历了{count}次")
运行结果
这时候关于for循环嵌套的规律已经出来了
a经历6次循环,(0, 1, 2, 3, 4, 5)
b经历 自己小循环次数4次( 1, 2, 3, 4,) * a的循环次数 = 24次
c经历 自己小循环次数5次( 3, 4, 5, 6, 7) * b的循环次数 = 120次
n层循环总次数= n自己小循环的次数 * 上一次(n-1)循环总次数
----------------------------------------------------------------------------------
如果这时候要比较
a, b, c的值,
那么a的值变为
那么b的值变为
多层for循环嵌套应用在哪?
最简单的是 求多个自然数的有多少种组合
如
'''有2, 3, 4, 5, 6个数字,
能组成多少个互不相同且无重复数字的三位数?都是多少?'''
count = 0 #记录共循环了几次
for a in range(2,7):
for b in range(2,7):
for c in range(2,7):
if a != b and b != c and a != c:
print(a*100 + b*10 + c,end= ' ')
count += 1
print(f"\n\n共遍历了{count}次")
运行结果为
编程:
代码不重要,重要的是思路.
不同的人思路各不同,也就意味着n个人有n种不同的思路
我们的思路可以通过 [计算机懂的语言] 实现,
那么我们就能得到问题的答案
路漫漫其修远兮
吾将上下而求索.