一个小练习题,输出如下规律的数字矩阵,从一开始先向下,再向右,再向上,最后向左,依次类推,绕圈圈输出。

01 16 15 14 13 
02 17 24 23 12 
03 18 25 22 11 
04 19 20 21 10 
05 06 07 08 09

#获取下一个方向
def getNextFlag(flag):if flag == 0:return 1elif flag == 1:return 2elif flag == 2:return 3elif flag == 3:return 0else:return 4
#生成矩阵
def matrix():length = input("Please enter the length of the two-dimensional table :")num = int(length)#创建一个二维表array = []for i in range(num):array.append([0] * num)#判断数字格式format_num = "%0" + str(len(str(num*num))) + "d"#0向下  1向右  2向上  3向左flag = 0total = 1column_index = 0row_index = 0border = num - 1#开始赋值array[row_index][column_index] = totalwhile total < num*num:if flag == 0 and border > row_index >=0:if array[row_index+1][column_index] == 0:row_index += 1#移动#赋值total += 1array[row_index][column_index] = totalelse:flag = getNextFlag(flag)elif flag == 1 and border > column_index >=0:if array[row_index][column_index+1] == 0:column_index +=1total += 1array[row_index][column_index] = totalelse:flag = getNextFlag(flag)elif flag == 2 and border >= row_index > 0:if array[row_index-1][column_index] == 0:row_index -= 1total += 1array[row_index][column_index] = totalelse:flag = getNextFlag(flag)elif flag == 3 and border >= column_index > 0:if array[row_index][column_index-1] == 0:column_index -=1total += 1array[row_index][column_index] = totalelse:flag = getNextFlag(flag)else:flag = getNextFlag(flag)#打印矩阵for ele in array:for element in ele:print(format_num % element,end=" ")print("")#调用
matrix()

Python输出一个绕圈圈的矩阵相关推荐

  1. Python学习之绕圈圈题

    最近在学习Python,遇到了如下题目: 给定4应该输出如下形式的数据 01  12  11  10 02  13  16  09 03  14  15  08 04  05  06  07 给定5, ...

  2. 用python中函数输出杨辉三角_用Python输出一个杨辉三角的例子

    这篇文章主要介绍了用Python和erlang输出一个杨辉三角的例子,同时还提供了一个erlang版杨辉三角,需要的朋友可以参考下 关于杨辉三角是什么东西,右转维基百科:杨辉三角 稍微看一下直观一点的 ...

  3. python输出杨辉三角啊二维数组_用Python输出一个杨辉三角的例子

    这篇文章主要介绍了用Python和erlang输出一个杨辉三角的例子,同时还提供了一个erlang版杨辉三角,需要的朋友可以参考下 关于杨辉三角是什么东西,右转维基百科:杨辉三角 稍微看一下直观一点的 ...

  4. python输出一个空心爱心

    下面是一个使用 Python 输出空心爱心的代码示例: print(" ***") print(" ******") print(" ** **&qu ...

  5. 用python输出一个爱心

    可以使用 Python 的字符串格式化功能来输出一个爱心. 下面是一个示例代码: print("\n".join(["%s%s%s" % (" &qu ...

  6. python 输出一个 5*5的 三角形_GitHub标星3W+,80个Python案例,带你轻松玩转Python学习!...

    在Python学习过程中,案例是我们绝对绕不开的一部分.它不光能够帮助我们加深对基础知识的理解,也能进一步提升我们的编程能力. 今天给大家整理的这份80份Python精选案例,来自GitHub热门项目 ...

  7. python输出一个月日历表_关于python一个月总结

    今天是6月16了,我在上个月19号的时候敲下了人生中的第一行python的hello world代码.碰巧今天周末,明天又开始忙碌的上(mo)班(yu).趁着现在对这个月的学习做一个总结,也是理清思路 ...

  8. python输出一个函数多项式_python实现PolynomialFeatures多项式的方法

    sklearn生成多项式 import numpy as np from sklearn.preprocessing import polynomialfeatures #这哥用于生成多项式 x=np ...

  9. python输出一个月日历表_Python实例——检索输出月份日历表

    Python实例,检索输出需要的日历表 从本篇博文开始,我们的世界开始有颜色了哟,欢迎提问,持续更新中ing-- 一.题目要求与分析 根据输入的年和月,打印该月的日历.如图所示: 题目分析:复杂的问题 ...

最新文章

  1. KVM虚拟化笔记(十三)------kvm虚拟机静态迁移
  2. python教程:__file__、__name__、__dict__三个方法的作用
  3. 90年代微型计算机,版本控制如何在80年代和90年代的当今微型计算机上工作?
  4. 向MIP开源项目提交Issues
  5. Linux全攻略--Squid服务器配置与管理
  6. xmind模板打包下载
  7. 计算机ps相框怎么做,计算机学前班第五课--PS做相框
  8. 在线编辑Word——插入内容控件
  9. swing打地鼠游戏_幼儿园里的室内徒手游戏(二)
  10. ANT:修改测试报告的样式jmeter-results-shanhe-me.xsl
  11. sysbench--实践--02--CPU测试
  12. HTML部分基础语法
  13. 计算机系统(1)实验二 LC-3机器码编程试验
  14. 用 Python 分析各国人口性别比例
  15. 三位数除以两位数竖式计算没有余数_苏教版四上二period;三位数除以两位数竖式计算练习...
  16. think-cell 加载项在 Office 出现故障后消失丨使用教程
  17. 关于禁用微软拼音输入法的解决方法
  18. HNOI2011 数学作业
  19. 【模拟赛】8.24模拟赛题解(由ljm同学的博客转载)
  20. Qliksense 学习文档—初级入门

热门文章

  1. ROS2报错缺少“diagnostic_updater“,CMake did not find diagnostic_updater. 解决思路
  2. dump文件调试技巧(产生Dump文件)
  3. 小白学 Python(1):开篇
  4. 微信公众号软件 php,写公众号文章的软件有哪些?
  5. 新手初学者入门2000左右预算?哪些单板民谣吉他值得推荐。
  6. 安卓手机管理_彻底解决安卓手机通知管理难题,顺便还实现了聊天消息防撤回!?
  7. 新买的显示器怎么测试软件,新买的电视如何检测屏幕?记住这个方法
  8. [ECE]模拟试题-4
  9. 芯片程序烧录的熔断机制与安全
  10. 【图文详解】SpringBoot项目启动报错:The bean ‘xxxServiceImpl‘ could not be injected as a ‘xxxServiceImpl‘ ...