用ChatGPT做算法题,如:回形打印出一个二维数组
输入两个数字 行数和列数,回形打印出一个二维数组,大小按回形的方向依次递增。你可以使用 Python 来实现这个需求。如: 输入: 5 、4。
·
输入两个数字 行数和列数,回形打印出一个二维数组,大小按回形的方向依次递增。
如: 输入: 5 、4
输出:
0 1 2 3
13 14 15 4
12 19 16 5
11 18 17 6
10 9 8 7
你可以使用 Python 来实现这个需求。下面是代码实现:
def print_spiral(row, col):
result = [[0 for _ in range(col)] for _ in range(row)]
count = 0
for i in range((row + 1) // 2):
for j in range(i, col - i):
result[i][j] = count
count += 1
for j in range(i + 1, row - i - 1):
result[j][col - i - 1] = count
count += 1
for j in range(col - i - 1, i - 1, -1):
result[row - i - 1][j] = count
count += 1
for j in range(row - i - 2, i, -1):
result[j][i] = count
count += 1
return result
def main():
row, col = 5, 4
result = print_spiral(row, col)
for i in range(row):
for j in range(col):
print("{:3d}".format(result[i][j]), end=" ")
print()
if __name__ == '__main__':
main()
运行结果如下:
0 1 2 3
13 14 15 4
12 19 16 5
11 18 17 6
10 9 8 7
更多推荐
已为社区贡献6条内容
所有评论(0)