0
函數add我想返回l作爲矩陣類型。但我只能以列表類型的形式返回它。 我的目標是使m3爲矩陣類型,direclty想要顯示m3作爲矩陣,我創建了str。如何將任何數據類型轉換爲我們自己創建的數據類型
嘗試: 進口SYS
class matrix:
def __init__(self,a):
self.file=a
c=open(self.file,'r')
self.list=c.readlines()
self.row=len(self.list)
self.col=len(self.list[1].split(" "))
c.close
templist=[]
i=0
j=0
self.elements=[]
while i<self.row:
while j<self.col:
templist=self.list[i].split(" ")
self.elements.append(templist[j])
j=j+1
j=0
i=i+1
#return elem
def __str__(self):
#print self.file
#print self.list
s=''
for x in self.list:
s=s+x
return s
def __add__(self,other):
#print self.elements
#print other.elements
i=0
l=[]
while i<len(self.elements):
l.append(int(self.elements[i])+int(other.elements[i]))
i=i+1
#l=matrix(l)
#print type(l)
return l
def write(self,sumlist,outputfile):
#print sumlist
#print outputfile
fobj=open(outputfile,'w')
i=0
j=0
k=0
while i<self.row:
while j<self.col:
fobj.writelines(str(sumlist[k])+" "),
j=j+1
k=k+1
j=0
fobj.writelines("\n")
i=i+1
#return "wrote matrix in required file"
#def check(self):
# print self.elements
#print self.file
# print self.list
# print self.col
#print self.row
m1=matrix('D:\mat1.txt')
m2=matrix('D:\mat2.txt')
#print type(m1)
print m1
print
print m2
#m3=matrix()
m3=m1+m2
#m3=matrix(m3)
#print m3
#print type(m3)
m3.write(m3,'D:\mat3.txt')
#print
print m3
除例外,E: 打印E
可否請您詳細說明一下,因爲我無法通過返回自己獲得期望的輸出。毫無疑問,它現在正在返回矩陣類型,但我希望我的列表轉換爲矩陣類型。 –
或者如果有任何其他方法來解決這個問題。可能是我開始在錯誤的方向上創建功能。我將面臨的最大問題是將變量轉換爲矩陣數據類型,我也給出了一個文件作爲輸入。代碼架構可能是錯誤的。 –
你想要你的矩陣看起來如何? – Academiphile