【发布时间】:2016-01-17 16:15:35
【问题描述】:
我是 Python 编程新手。我有这个任务:
在本实验中,您将在 Python 中使用二维列表。执行以下操作:
- 编写一个函数,使用以下标题返回矩阵中指定列中所有元素的总和 def sumColumn(matrix, columnIndex)
编写一个函数,逐行显示矩阵中的元素,其中每行中的值显示在单独的行上(参见下面的输出)。您的输出格式必须与示例输出中的格式相匹配,其中一行中的值由一个空格分隔。
编写一个读取 3 X 4 矩阵并显示每列总和的测试程序(即 main 函数)。总和应格式化为在小数点后恰好包含一位有效数字。用户的输入必须像下面运行的示例程序一样输入,其中输入是逐行读取的,并且一行中的值由单个空格分隔。
示例程序运行如下:
为第 0 行输入一个 3×4 矩阵行:2.5 3 4 1.5 为第 1 行输入一个 3×4 矩阵行:1.5 4 2 7.5 为第 2 行输入一个 3×4 矩阵行:3.5 1 1 2.5
矩阵是 2.5 3.0 4.0 1.5 1.5 4.0 2.0 7.5 3.5 1.0 1.0 2.5
第 0 列的元素总和为 7.5 第 1 列的元素总和为 8.0 第 2 列的元素总和为 7.0 第 3 列的元素总和为 11.5
这是我目前的代码:
def sumColumn(matrix, columnIndex):
total = (sum(matrix[:,columnIndex]) for i in range(4))
column0 = (sum(matrix[:,columnIndex]) for i in range(4))
print("The total is: ", total)
return total
def main ():
for r in range(3):
user_input = [input("Enter a 3-by-4 matrix row for row " + str(r) + ":", )]
user_input = int()
rows = 3
columns = 4
matrix = []
for row in range(rows):
matrix.append([numbers] * columns)
print (matrix)
main()
it prints out:
[[0, 0, 0, 0]]
[[0, 0, 0, 0], [0, 0, 0, 0]]
[[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]
我做错了什么?
【问题讨论】:
-
我有这个任务是立即关闭。
标签: python list function matrix