回环矩阵 python

绝地灬酷狼 2022-04-18 06:39 328阅读 0赞

编程输出以下格式的数据。
When i=0
1

When i=1

7 8 9
6 1 2
5 4 3

When i=2

21 22 23 24 25
20 7 8 9 10
19 6 1 2 11
18 5 4 3 12
17 16 15 14 13

  1. def rotation_matrix(n):
  2. arr = [[None for _ in range(n)] for _ in range(n)]
  3. right, down, left, up = n - 1, n - 1, 0, 0
  4. i, j = n - 1, 0 # i是行,j是列
  5. sum_ = n * n
  6. while sum_ > 0:
  7. # left
  8. for j in range(right, left - 1, -1):
  9. arr[i][j] = sum_
  10. sum_ -= 1
  11. left += 1
  12. # up
  13. for i in range(down - 1, up - 1, -1):
  14. arr[i][j] = sum_
  15. sum_ -= 1
  16. up += 1
  17. # right
  18. for j in range(left, right + 1):
  19. arr[i][j] = sum_
  20. sum_ -= 1
  21. right -= 1
  22. # down
  23. for i in range(up, down):
  24. arr[i][j] = sum_
  25. sum_ -= 1
  26. down -= 1
  27. return arr
  28. if __name__ == '__main__':
  29. n = int(input('input:'))
  30. arr = rotation_matrix(n)
  31. for row in range(n):
  32. print(arr[row])
  • 结果:

    /Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6 /Users/daidai/Desktop/刷题.py
    input:5
    [17, 16, 15, 14, 13]
    [18, 5, 4, 3, 12]
    [19, 6, 1, 2, 11]
    [20, 7, 8, 9, 10]
    [21, 22, 23, 24, 25]

    Process finished with exit code 0

发表评论

表情:
评论列表 (有 0 条评论,328人围观)

还没有评论,来说两句吧...

相关阅读

    相关 串口测试(本地

    不借助应用程序,仅使用系统命令,对串口收发功能进行测试。 1. 将开发板对应的rx和tx回环短接 2. devs查看系统中识别到的串口号 3. 如果识别查看设备名称,例

    相关 整理汇总

    1,内环和外环 报文数据发向某设备模块的就是表示该设备模块内环 报文数据从该设备发出就是表示该设备模块外环, 2,芯片环回和光模块环回 芯片环回表示测试报文从芯片发出或

    相关 SLAM及优化

    0. 前言 随着路径的不断延伸,机器人的建图过程会存在不断地累计误差。而传统的以gmapping为代表的使用粒子滤波进行定位的slam建图方式。以及ORB-SLAM为代表

    相关 设备

    你有没有想过在Linux的文件管理系统中再创建一个文件系统,就像在Windows中创建一个新的磁盘分区那样(但其实并不必非得直接那么做)。这时你就需要用到回环设备(loop d