在Python中使用Android模式绘图

时间:2017-01-11 15:13:54

标签: python

我需要制作一个android模式或只是一个3x3矩阵的模式。模式为[8, 7, 6, 5, 4, 3, 2, 0, 1],我需要将其绘制在3x3矩阵中。模式中的第一个条目是起始点,它连接到行中的第二个条目。结果必须如下:

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

pattern = [8, 7, 6, 5, 4, 3, 2, 0, 1]
matrix = [0,0,0,0,0,0,0,0,0]

lst = ([matrix[i:i + 3] for i in range(0, len(matrix), 3)])
for i in lst:
    print(i)

for char in pattern:
    matrix[char]=char

2 个答案:

答案 0 :(得分:0)

你的意思是这样的:

def print_pattern(pattern, cols=3):
    for ii, pp in enumerate(pattern):
        if ii % cols == 0:
            print("")
        print(pp),

然后您可以将此功能称为

pattern = [8, 7, 6, 5, 4, 3, 2, 0, 1]
print_pattern(pattern)

这导致以下输出:

8 7 6 
5 4 3 
2 0 1

如果您想以相反的顺序打印图案,您可以传递一个反转的图案列表,例如:

print_pattern(reversed(pattern))

提供以下输出:

1 0 2 
3 4 5 
6 7 8

答案 1 :(得分:-1)

此函数接受整数n和可迭代。它从可迭代的

中创建宽度为n的元组列表
def mat(n, it):
    return list(zip(*[iter(it)]*n))