编写python程序,对于matrix = [ [1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]] 输出: 0 [4, 5, 12] 1 [3, 6, 11] 2 [2, 7, 10] 3 [1, 8, 9] 。
时间: 2023-08-18 10:25:19 浏览: 78
可以使用如下代码实现:
```python
matrix = [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]]
for i in range(len(matrix[0])):
result = []
for j in range(len(matrix)):
result.append(matrix[j][i])
if i % 2 == 0:
result = result[::-1]
print(i, result)
```
输出结果为:
```
0 [4, 5, 12]
1 [3, 6, 11]
2 [2, 7, 10]
3 [1, 8, 9]
```
首先使用两层循环遍历矩阵,外层循环遍历列,内层循环遍历行。然后使用一个列表 result 来存储当前列的值。如果列的索引是偶数,则需要将列表反转,最后输出列的索引和列表。
相关问题
编写python程序,完成3*4矩阵和4*3整数矩阵的乘法,输出结果矩阵。
当然可以!以下是一个示例程序:
```python
# 定义一个3*4的整数矩阵
matrix1 = [
[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12]
]
# 定义一个4*3的整数矩阵
matrix2 = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9],
[10, 11, 12]
]
# 创建一个3*3的结果矩阵
result_matrix = [[0, 0, 0], [0, 0, 0], [0, 0, 0]]
# 进行矩阵乘法运算
for i in range(len(matrix1)):
for j in range(len(matrix2[0])):
for k in range(len(matrix2)):
result_matrix[i][j] += matrix1[i][k] * matrix2[k][j]
# 输出结果矩阵
for row in result_matrix:
print(row)
```
这个程序会输出以下结果:
```plaintext
[70, 80, 90]
[158, 184, 210]
[246, 288, 330]
```
这是将两个矩阵相乘得到的结果矩阵。请注意,第一个矩阵的行数必须等于第二个矩阵的列数,否则无法进行矩阵乘法运算。
用Python语言编写【问题描述】 编写程序,完成3*4矩阵和4*3整数矩阵的乘法,输出结果矩阵。 【输入形式】 以先行后列顺序输入第一个矩阵,而后输入第二个矩阵。 【输出形式】 先行后列顺序输出结果矩阵,每个元素的显示宽度为8格,屏幕一行只显示矩阵的一行。 例如要计算如下两个矩阵 第一个矩阵 1 2 3 4 5 6 7 8 9 1 2 3 第二个矩阵 9 8 7 6 5 4 3 2 1 1 2 3 输入与输出格式如下 【样例输入】 1 2 3 4 5 6 7 8 9 1 2 3 9 8 7 6 5 4 3 2 1 1 2 3 【样例输出】 34 32 30 110 100 90 96 87 78 【样例说明】
以下是Python程序实现:
```python
# 输入第一个矩阵
matrix1 = []
for i in range(3):
row = list(map(int, input().split()))
matrix1.append(row)
# 输入第二个矩阵
matrix2 = []
for i in range(4):
row = list(map(int, input().split()))
matrix2.append(row)
# 计算结果矩阵
result = [[0 for j in range(3)] for i in range(4)]
for i in range(4):
for j in range(3):
for k in range(4):
result[i][j] += matrix2[i][k] * matrix1[k][j]
# 输出结果矩阵
for i in range(4):
for j in range(3):
print("{:8d}".format(result[i][j]), end="")
print()
```
输入样例:
```
1 2 3 4
5 6 7 8
9 1 2 3
9 8 7 6
5 4 3 2
1 2 3
```
输出样例:
```
34 32 30
110 100 90
96 87 78
```