gpt4 book ai didi

python - 矩阵类方法中的参数错误 - Python

转载 作者:行者123 更新时间:2023-12-04 08:38:10 25 4
gpt4 key购买 nike

我在 python 3 中创建了矩阵类(到目前为止我只创建了一种方法):

class Matrix() :
__rows = []
__columns = []
def SetRows(self,rows) :
self.__rows = rows
i = 0
while i < len(rows[0]) :
a = []
j = 0
while j < len(rows) :
a.append(rows[j][i])
j += 1
self.__columns.append(a)
i += 1
m = Matrix
m.SetRows([[0,8,56],[98,568,89]])
但它给出了这个错误:
Traceback (most recent call last):
File "f:\PARSA\Programming\Python\2-11-2.py", line 14, in <module>
m.SetRows([[0,8,56],[98,568,89]])
TypeError: SetRows() missing 1 required positional argument: 'rows'
我已经输入了“行”参数。显然,我不需要输入“自我”。我将 VS Code 用于 IDE。谢谢你的帮助。

最佳答案

你的功能一切正常。
你只是在实例化时忘记了括号 m=Matrix() .所以解释器认为你必须指定 self,因为它不识别类。
编辑:
我刚刚意识到另一个问题。你实际上用那些 while 创建了一个无限循环循环。如果您不加分配 i 和 j,它们将始终低于 len(rows[0])len(rows)分别。
所以:

class Matrix() :
__rows = []
self.__columns = []
def SetRows(self,rows) :
self.__rows = rows
i = 0
while i < len(rows[0]) :
a = []
j = 0
while j < len(rows) :
a.append(rows[j][i])
j += 1
self.__columns.append(a)
i += 1

m = Matrix()
m.SetRows([[0,8,56],[98,568,89]])

关于python - 矩阵类方法中的参数错误 - Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64696280/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com