顺时针打印矩阵,间隔逗号输出——python实现

该博客介绍了如何使用Python编程解决顺时针打印矩阵的问题。通过控制行和列的边界,按照右、下、左、上的顺序进行螺旋访问,确保在边界之间有间隔,从而避免重复打印。文章提供了两种不同的代码实现,并给出了相应的输出结果。
摘要由CSDN通过智能技术生成

题目输入一个矩阵(行列相等的二维矩阵),按照从外向里以顺时针的顺序依次打印出每一个数字,以逗号隔开。

输入描述:二维数组对应字符串.[[1,2,3],[4,5,6],[7,8,9]]

输出描述:二维数组对应的一组数字.1,2,3,6,9,8,7,4,5

思路:螺旋访问数组是常见的一类题目,还可以变形为螺旋生成n维数组。这类题目思路都是相同的,主要是控制访问每行每列的边界。 
  考虑:用两个变量xnum,ynum分别对访问列方向、行方向上前进步数的限制。ynum初始值为列数, xnum初始值为行数-1。打印具体过程如下: 
  当行列方向可前进步数均不为0并且输出列表长度小于原矩阵元素个数时,循环以下四个方向: 
  →:行方向的打印,坐标y值步进,可前进步数为yum。 
  ↓:列方向的打印,坐标x值步进,可前进步数为xnum。 
  走过半圈之后,ynum和xnum都减1,这是很显然的。 
  ←:行方向的打印,坐标y值后退,为了保证与→ 方向数据不重合,需要加上xnum>=0的判断,这个判断的意思是上边界与下边界之间有间隔,因为如果此时只剩一行数据࿰

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值