本文实例为大家分享了python实现转圈打印矩阵的具体代码,供大家参考,具体内容如下
#! conding:utf-8
__author__ = "hotpot"
__date__ = "2017/10/28 9:40"
def return_edge(matrix, start_col, end_col, start_row, end_row):
if start_row == end_row:
return matrix[start_row][start_col:end_col+1]
elif end_col ==start_col:
res = []
for i in range(start_row,end_row+1):
res.append(matrix[i][end_col])
return res
else:
res2 =[]
res3 =[]
res4=[]
res1 = matrix[start_row][start_col:end_col+1]
for i in range(start_row+1,end_row+1):
res2.append(matrix[i][end_col])
for i in range(end_col-1,start_col-1,-1):
res3.append(matrix[end_row][i])
for i in range(end_row-1,start_row,-1):
res4.append(matrix[i][start_row])
res1.extend(res2)
res1.extend(res3)
res1.extend(res4)
return res1
def spiralOrder( matrix):
if matrix:
row = len(matrix)-1
col = len(matrix[0])-1
start_row = 0
start_col = 0
end_row = row
end_col = col
res =[]
while start_col<=end_col and start_row <= end_row:
res.extend(return_edge(matrix,start_col,end_col , start_row ,end_row))
start_col+=1
end_col-=1
start_row+=1
end_row-=1
return res
else:
return matrix
if __name__ == '__main__':
matrix = [[0 for i in range(3) ]for j in range(3)]
num=1
for m in range(len(matrix)):
for n in range(len(matrix[0])):
matrix[m][n]=num
num+=1
print(spiralOrder( matrix))
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
标签:
python,打印矩阵
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
暂无“python实现转圈打印矩阵”评论...
更新动态
2025年11月07日
2025年11月07日
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]