Hỏi đáp

Chia sẻ kiến thức, cùng nhau phát triển

m.n giải thích giúp em code bài này với ạ

4 năm trước 453 lượt xem 1 bình luận

n = int(input('Enter size of matrix: '))

dx, dy = 1,0

x, y = 0,0

spiral_matrix = [[None] * n for j in range(n)]

for i in range(n ** 2):

    spiral_matrix[x][y] = i

    nx, ny = x + dx, y + dy

    if 0 <= nx < n and 0 <= ny < n and spiral_matrix[nx][ny] == None:

            x, y = nx, ny

   else:

            dx, dy = -dy, dx x, y = x + dx, y + dy

   for y in range(n):

          for x in range(n):

              print("%02i" % spiral_matrix[x][y], end=' ')

              print()

print()

Bình luận

Để bình luận, bạn cần đăng nhập bằng tài khoản Howkteam.

Đăng nhập
JuffyInaba đã bình luận 4 năm trước

Tôi làm sạch code cho bạn chạy được. Còn giải thích thì chịu khó tự tìm tòi học hỏi để cho nhớ

n = int(input('Enter size of matrix: '))
dx, dy = 1, 0
x, y = 0, 0
spiral_matrix = [[None] * n for j in range(n)]
for i in spiral_matrix:
    print(i)
for i in range(n ** 2):
    spiral_matrix[x][y] = i
    nx, ny = x + dx, y + dy
    if 0 <= nx < n and 0 <= ny < n and spiral_matrix[nx][ny] is None:
        x, y = nx, ny
    else:
        dx, dy = -dy, dx
        x, y = x + dx, y + dy
for y in range(n):
    for x in range(n):
        print("%02i" % spiral_matrix[x][y], end=' ')
    print('')

 

Câu hỏi mới nhất