亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何修復 AttributeError:“Matrix”對象沒有“clear”屬性?

如何修復 AttributeError:“Matrix”對象沒有“clear”屬性?

慕勒3428872 2022-06-22 18:41:57
我正在嘗試創建一個 Matrix 類。但是,當我創建它時它會給我帶來錯誤。我試圖刪除 self._theGrid.clear(0) 但矩陣將被初始化為 None 而不是 0。from array_ import Array2Dclass Matrix :    # Creates a matrix of size numRows x numClos initialized to 0.    def __init__(self, numRows, numCols):        self._theGrid = Array2D(numRows, numCols)        self._theGrid.clear(0)    ....在我創建的模塊中。我正在使用以下模塊來創建矩陣。# Implement the Array ADT using the array capabilities of the ctypes moduleimport ctypesclass Array:     # Create array with the size elements    def __init__(self, size):        assert size > 0, "Array size must be > 0"        self._size = size         # Create the array structure using ctypes module        PyArrayType = ctypes.py_object * size        self._elements = PyArrayType()         # Initialize each element        self.clear(None)     # Returns the size of the array    def __len__(self):        return self._size     # Get the contents of the index element    def __getitem__(self, index):        assert index >= 0 and index < len(self), "Array subscripts out of range"        return self._elements[index]      # Puts the value in the array element at index position.    def __setitem__(self, index, value):        assert index >= 0 and index < len(self), "Array subscripts out of range"        self._elements[index] = value     # Clear the array by setting each element to the given value.    def clear (self, value):        for i in range(len(self)):            self._elements[i] = value     # Returns the array's ierator for transversing the elements.    def __iter__(self):        return _ArrayIterator( self._elements )# An iterator for the Array ADT.class _ArrayIterator:    def __init__(self, theArray):        self._arrayRef = theArray        self._curNdx = 0    def __iter__(self):        return self我無法得到所有矩陣條目都初始化為 0 的結果。第 8 行,在init self._theGrid.clear(0)第 77 行,在 clear row.clear(value) 中AttributeError:“矩陣”對象沒有屬性“清除”我無法用 x = Matrix(2,3) 初始化矩陣。
查看完整描述

1 回答

?
呼喚遠方

TA貢獻1856條經驗 獲得超11個贊

您似乎在這里迭代數組的長度:


...

def clear( self, value ):

    for row in range( self.numRows() ):  # row is 0, 1, 2, ...  

        row.clear( value )               # int has no method or attribute with name "clear" -> error is raised

...

嘗試遍歷數組:


...

def clear( self, value ):

    for row in self._theRows:

        row.clear( value ) 

...


查看完整回答
反對 回復 2022-06-22
  • 1 回答
  • 0 關注
  • 107 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號