一个矩阵我们想让它通过编程,实现各种花样的变化怎么办呢?
我发现百度没有很好的代码,我就自己研究啦!
用到的函数
pop([index])
删除并返回列表中下标为index(默认为-1)的元素
reverse()
对列表所有元素进行逆序
好多问题
按行逆序输出矩阵
问题描述1
初始矩阵a=[[1,2,3],[4,5,6]]变化成a=[[4,5,6],[1,2,3]]
n=2
m=3
a=[[1,2,3],[4,5,6]]
print('初始矩阵')
for i in range(n):
for j in range(m):
print(a[i][j],end=' ')
print()
print('按行倒序输出')
a.reverse()
for i in range(n):
for j in range(m):
print(a[i][j],end=' ')
print()
运行结果
按列倒序输出矩阵
问题描述2
初始矩阵变化成a=[[3,2,1],[6,5,4]]
n=2
m=3
a=[[1,2,3],[4,5,6]]
print('初始矩阵')
for i in range(n):
for j in range(m):
print(a[i][j],end=' ')
print()
print('按列倒序输出')
for i in range(n):
for j in range(m):
print(a[i].pop(),end=' ')
print()
运行结果
顺时针旋转90度
问题描述3
初始矩阵变化成a=[[4,1],[5,2],[6,3]]
n=2
m=3
a=[[1,2,3],[4,5,6]]
print('初始矩阵')
for i in range(n):
for j in range(m):
print(a[i][j],end=' ')
print()
print('顺时针旋转90度')
a.reverse()#将矩阵中的元素按行逆序
#改变矩阵的形状
for i in range(m):
for j in range(n):
print(a[j][i],end=' ')
print()
运行结果
顺、逆时针旋转180度
问题描述4
初始矩阵变化成a=[[6,5,4],[3,2,1]]
n=2
m=3
a=[[1,2,3],[4,5,6]]
print('初始矩阵')
for i in range(n):
for j in range(m):
print(a[i][j],end=' ')
print()
print('顺时针旋转180度')
a.reverse()#将矩阵中的元素按行逆序
#按列倒序输出
for i in range(n):
for j in range(m):
print(a[i].pop(),end=' ')
print()
运行结果
逆时针旋转90度
问题描述5
初始矩阵变化成a=[[3,6],[2,5],[1,4]]
n=2
m=3
a=[[1,2,3],[4,5,6]]
print('初始矩阵')
for i in range(n):
for j in range(m):
print(a[i][j],end=' ')
print()
print('逆时针旋转90度')
#改变矩阵的形状,再倒序输出
for i in range(m):
for j in range(n):
print(a[j].pop(),end=' ')
print()
运行结果
对问题的思考
python自带了很多函数,我们要充分的利用起来。刚开始我解决问题的时候想得是该一下循环和数组的下标,因为c、c++语言解决这个问题的时候就很容易就解决了。但是呢,python总是说IndexError: list index out of range,好的下标越界了,可是我们定义数组的时候它也不让这么写啊(例如,a[105][105]),我们只能这么写(a=[])。可能我刚学,还不知道解决的方法。大家如果知道的话,一定要告诉我呀。
所以说呢,它不让这么改变,我们只能用函数来解决啦。
今天又是爱学习的好孩子呢。