首页 > 解决方案 > 像矩阵一样的Python计数器

问题描述

for a in range(99):
    for b in range(99):
        for c in range(99):
            for d in range(99):
                for e in range(99):
                    for f in range(99):
                        for g in range(99):
                            for h in range(99):
                                for i in range(99):
                                    for j in range(99):
                                        for k in range(99):
                             sayi=str(k)+str(j)+str(i)+str(h)+str(g)+str(f)+str(e)+str(d)+str(c)+str(a)+str(b)
print(sayi)

虽然最左边的数字从 1 计数到 9,但我希望它同时从数字 9 倒退,但我无法通过这个 for 循环摆脱它。

同时

a b c
1 9 1
2 8 2
3 7 3
4 6 4
5 5 5
6 4 6
7 3 7
8 2 8
9 1 9

a 数 1-9,b 倒计时 9-1 c 数 1-9 一段时间

标签: pythonpython-3.xcounter

解决方案


我猜您正在寻找多个变量的同时循环。为此,您应该使用zip并遵循以下语法:

for a,b,c in zip(range(1,10),range(9,0,-1),range(1,10)): # One range for each variable
    sayi = f'{a} {b} {c}'  # Equivalent of sayi = str(a)+' '+str(b)+' '+str(c)
    print(sayi)

#    1 9 1
#    2 8 2
#    3 7 3
#    4 6 4
#    5 5 5
#    6 4 6
#    7 3 7
#    8 2 8
#    9 1 9

如果您真的想保持每个循环独立,请尝试range在每个循环中修改函数的参数for

for a in range(10):
    for b in range(9,-1,-1):
        for c in range(10): # One range and 'for loop' per variable
            sayi = f'{a} {b} {c}'  # Equivalent of sayi = str(a)+' '+str(b)+' '+str(c)
            print(sayi)

# 0 9 0
# 0 9 1
# 0 9 2
# 0 9 3
# 0 9 4
# 0 9 5
# 0 9 6
# 0 9 7
# 0 9 8
# 0 9 9
# 0 8 0
# 0 8 1
# 0 8 2
# 0 8 3
# ...

推荐阅读