【发布时间】:2013-03-27 04:11:36
【问题描述】:
我想在 python 3 中添加两个矩阵,但是当我在程序中添加 input 时出现问题
这是我的代码
def addmatrix(a,b):
d=[]
n=0
while n < len (a):
c = []
k = 0
while k < len (a[0]) :
c.append(a[n][k]+b[n][k])
k += 1
n += 1
d.append (c)
return d
def main():
a = input("Enter a Matrix: ")
b = input("Enter another Matrix: ")
print (addmatrix(a,b))
main()
如果输入是
输入矩阵:[[5,6], [1,2], [2,4]]
输入另一个矩阵:[[2,3], [-6,0], [-2, 4]]
输出为 [['[['], ['[['], ['52'], [',,'], ['63'], [']]'], [ ',,'], [''], ['[['], ['1-'], [',6'], ['2,'], [']0'], [',] '], [','], ['['], ['2['], [',-'], ['42'], ['],'], ['] ']]
但是如果我从程序中取出input 并使其成为这样
def main():
a = [[5,6], [1,2], [2,4]]
b = [[2,3], [-6,0], [-2, 4]]
print (addmatrix(a,b))
main()
然后输出为[[7, 9], [-5, 2], [0, 8]],这是正确的。
有没有一种方法可以让我的程序正常工作,这样当一个人输入两个矩阵时,它们会相加?我是 python 新手,所以任何帮助将不胜感激:)
【问题讨论】:
-
它在 Python 2.7.3 上对我来说很好
-
我正在使用 python 3。也许这就是问题所在。有谁知道怎么回事?
-
@zz3599:OP 正在使用 Python 3。
-
仅供参考:在 python 中处理矩阵时,最好使用numpy,它专为快速简单的矩阵计算而设计。不过,这看起来可能是家庭作业,在这种情况下请忽略我:)
-
@JamesPorter 是的,不幸的是。我不能使用我们还没学过的numpy。哈哈
标签: isa-swizzling