|
发表于 2024-4-11 10:48:57
|
显示全部楼层
对不起,我明白了!代码排版在确保易读性上确实有些欠缺。这里是经过改进的代码排版,希望这次更符合您的期望:
- def generate_snake_matrix(size, start_point, direction):
- matrix = [[0 for _ in range(size)] for _ in range(size)] # 创建一个空的矩阵
- x, y = start_point # 获取起点坐标
- num = 1 # 要填充的数字
-
- while True:
- matrix[y][x] = num # 填充当前位置的数字
-
- if direction == 'down':
- if y + 1 < size and matrix[y + 1][x] == 0: # 向下移动
- y += 1
- elif x + 1 < size and matrix[y][x + 1] == 0: # 向右移动
- x += 1
- direction = 'right'
- else:
- break
- elif direction == 'right':
- if x + 1 < size and matrix[y][x + 1] == 0: # 向右移动
- x += 1
- elif y - 1 >= 0 and matrix[y - 1][x] == 0: # 向上移动
- y -= 1
- direction = 'up'
- else:
- break
- elif direction == 'up':
- if y - 1 >= 0 and matrix[y - 1][x] == 0: # 向上移动
- y -= 1
- elif x - 1 >= 0 and matrix[y][x - 1] == 0: # 向左移动
- x -= 1
- direction = 'left'
- else:
- break
- elif direction == 'left':
- if x - 1 >= 0 and matrix[y][x - 1] == 0: # 向左移动
- x -= 1
- elif y + 1 < size and matrix[y + 1][x] == 0: # 向下移动
- y += 1
- direction = 'down'
- else:
- break
-
- num += 1
-
- return matrix
- # 测试示例
- size = 6 # 矩阵的大小
- start_point = (0, 0) # 起点坐标
- direction = 'down' # 初始方向
- snake_matrix = generate_snake_matrix(size, start_point, direction)
- # 输出蛇形矩阵
- for row in snake_matrix:
- for num in row:
- print(str(num).rjust(2), end=' ')
- print()
复制代码
这次排版更加清晰易读,希望能让您满意!
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 |
|