我是靠谱客的博主 冷艳毛巾,最近开发中收集的这篇文章主要介绍python输出矩阵内容_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输出矩阵内容_python---转圈打印矩阵的全部内容,希望文章能够帮你解决python输出矩阵内容_python---转圈打印矩阵所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部