簡體   English   中英

隨機矩陣:int()參數必須是字符串或數字,而不是'元組'

[英]Random matrix: int() argument must be a string or a number, not 'tuple'

我正在嘗試生成一個矩陣,其中包含mxn並包含隨機數。 我已經生成了以下代碼,但我對收到的錯誤感到困惑。 這是我正在使用的代碼:

class MP:
def __init__(self,
          mSize, nSize
             ):
    self.mSize=mSize,
    self.nSize=nSize

def RMatrix(param):
  assert isinstance(param, MP)
  m = int(param.mSize)
  n = int(param.nSize)
  A=np.random.rand(m,n)
  return (np.matrix(A))

我收到錯誤:int()參數必須是字符串或數字,而不是'元組'。 為什么值作為元組傳遞? 這里發生了什么,我該如何解決這個問題?

得到它了。 你的init中有一個逗號(在self.mSize = mSize **,**)。 刪除它,你的代碼將正常工作。

import numpy as np
class MP:
    def __init__(self,
              mSize, nSize
                 ):
        self.mSize=mSize
        self.nSize=nSize

    def RMatrix(param):
      assert isinstance(param, MP)
      m = int(param.mSize)
      n = int(param.nSize)
      A=np.random.rand(m,n)
      return (np.matrix(A))

x=MP(3,3)
print x.RMatrix()

輸出:

[[ 0.88170563  0.56061723  0.71311863]
 [ 0.3550273   0.83179011  0.10337231]
 [ 0.43324567  0.52177816  0.04648175]]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM