使用布尔值的螺旋python打印矩阵

时间:2015-02-05 03:43:46

标签: python

我正在寻找以螺旋方式打印矩阵,但我有一些问题需要了解何时/如何准确地更改布尔值以使其工作。这就是我现在所拥有的:

4x5矩阵

matrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16],[17,18,19,20]]

以及应该打印它的功能

def print_spiral(matrix):
    left = False
    right = True
    down = False
    up = False
    min_x = 0
    max_x = len(matrix) -1 
    min_y = 0
    max_y = len (matrix[0]) - 1 
    x,y = 0, 0
    while True:
        print matrix[x][y]
        if y < max_y and x == min_x:
            y=y+1
        elif y == max_y and x < max_x:
            x=x+1
        elif x == max_x and y > min_y:
            right = False
            y=y-1
        elif y == min_y and x > min_x:
            x = x-1

就像现在一样,不是以螺旋方式打印矩阵,而是在循环中打印矩阵的外部行和列。我试图通过使用布尔左,右,上,下变量来解决这个问题,但此时我仍然坚持逻辑。有什么建议吗?!

0 个答案:

没有答案