Python 使类进程成为2乘2矩阵,并让问题通过_str返回__
因此,我必须通过一个类处理一个2乘2的矩阵,并返回打印输出的str。我不能真正创建新函数,而且我很确定矩阵的数学很好,我只是有一些输出问题。我标记了这个区域,特别是我不能修改的输出,但是我可以修改类来支持它 这是我的密码Python 使类进程成为2乘2矩阵,并让问题通过_str返回__,python,python-3.x,math,matrix,Python,Python 3.x,Math,Matrix,因此,我必须通过一个类处理一个2乘2的矩阵,并返回打印输出的str。我不能真正创建新函数,而且我很确定矩阵的数学很好,我只是有一些输出问题。我标记了这个区域,特别是我不能修改的输出,但是我可以修改类来支持它 这是我的密码 #此代码旨在获取一个2乘2的矩阵,并将其与另一个矩阵相加、相减、相乘,以及求逆和幂。 # ----------------------------------------------------------------------------------------------
#此代码旨在获取一个2乘2的矩阵,并将其与另一个矩阵相加、相减、相乘,以及求逆和幂。
# ----------------------------------------------------------------------------------------------------------------------
#这就是我们将如何使用math.nan和仅使用math.nan的方法
输入数学
#你的课应该在这里
类Matrix2x2:#根据需要初始化。
定义初始化(self,a,b,c,d):
self.a=a
self.b=b
self.c=c
self.d=d
定义添加(自我,秒):
返回(Matrix2x2(self.a+second.a,self.b+second.b,self.c+second.c,self.d+second.d))
def(self,second):#只是减法而不是加法
返回(Matrix2x2(self.a-second.a,self.b-second.b,self.c-second.c,self.d-second.d))
def uu mul uu(self,second):#根据相应的点和一些加法将它们相乘。
返回(matrix2x2x2(self.a*second.a+self.b*second.c,self.a*second.b*second.d,self.c*second.a+self.d*second.c,self.c*second.b+self.d*second.d))
def_uuupow_uuu(自我,力量):#过程根据我们的工作内容而变化。
StoredMatrix=Matrix2x2x2(self.a、self.b、self.c、self.d)#变量只是保存信息并使数学更清晰。
行列式=1/((self.a*self.d)-(self.b*self.c))#用于简化反演并确定是否存在反演。
逆矩阵=矩阵x2x2(self.d*行列式,-self.b*行列式,-self.c*行列式,self.a*行列式)
如果功率>0:
计数=1
当count
我通常会因为使用add函数的非类型而出错。这不允许我看到会出现什么错误。我尝试使用str()将它们单独转换为字符串,但得到了相同的错误。我不认为是数学问题,南也是。
以下是一个例子:
添加:A+B
[ 1 2 ]
[ 3 4 ]
回溯(最近一次呼叫最后一次):
文件“ThiswaspurposelySensored”,第51行,在
打印(A,“+\n”,B,“=\n”,A+B,sep=”“)
TypeError:\uuuuu str\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
进程已完成,退出代码为1
无论如何,我如何避免非类型问题或使其与str兼容,而不干扰数学和所需输入过多?我将提供您可能需要的更多信息来帮助我解决此问题。将您的
\uuu str\uuuu
方法重写为这样
def __str__(self):
return '[ {} {} ]\n[ {} {} ]'.format(self.a, self.b, self.c, self.d)
稍微短一点
在
def\uu str\uuu(self)
removeprint(…)
函数中。打印函数始终返回None
-相反,返回格式化字符串。\b
是退格。你确定你想要吗?该死,那很简单。它现在可以工作了,谢谢。不要把所有的东西都用str
,{}
已经这样做了,我刚刚从我们的源代码中复制了:)如果版本不允许f-string,也可以写为:'[{x.a}{x.b}]\n[{x.c}{x.d}'。格式(x=self code>
def __str__(self):
return '[ {x.a} {x.b} ]\n[ {x.c} {x.d} ]'.format(x=self)