Run ID:78719
提交时间:2024-06-26 21:26:35
def generate_spiral_matrix(n): # 初始化矩阵,所有元素设为0 matrix = [[0] * n for _ in range(n)] # 螺旋矩阵的起始位置 start_row, start_col = 0, 0 end_row, end_col = n - 1, n - 1 num = 1 while start_row <= end_row and start_col <= end_col: # 填充从左到右的行 for i in range(start_col, end_col + 1): matrix[start_row][i] = num num += 1 start_row += 1 # 填充从上到下的列 for i in range(start_row, end_row + 1): matrix[i][end_col] = num num += 1 end_col -= 1 # 填充从右到左的行 if start_row <= end_row: for i in range(end_col, start_col - 1, -1): matrix[end_row][i] = num num += 1 end_row -= 1 # 填充从下到上的列 if start_col <= end_col: for i in range(end_row, start_row - 1, -1): matrix[i][start_col] = num num += 1 start_col += 1 return matrix # 读取输入 n = int(input("Enter the size of the matrix (n, 2<=n<=9): ")) # 生成方阵 spiral_matrix = generate_spiral_matrix(n) # 打印方阵 for row in spiral_matrix: print(' '.join(map(str, row)))