随机矩阵:int()参数必须是字符串或数字,而不是'元组'

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了随机矩阵:int()参数必须是字符串或数字,而不是'元组'相关的知识,希望对你有一定的参考价值。

我正在尝试生成一个矩阵,其中包含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]]

以上是关于随机矩阵:int()参数必须是字符串或数字,而不是'元组'的主要内容,如果未能解决你的问题,请参考以下文章

Django TypeError int() 参数必须是字符串或数字,而不是 'QueryDict'

django - int 参数必须是字符串或数字,而不是“元组”

TypeError:int() 参数必须是字符串、类似字节的对象或数字,而不是“DataFrame”

Python 2 - TypeError: int() 参数必须是字符串、类似字节的对象或数字,而不是“列表”

Django 保存到 DB:TypeError:int() 参数必须是字符串、类似字节的对象或数字,而不是“元组”

TypeError: int() 参数必须是字符串、类似字节的对象或数字,而不是使用 Python 3.7 时的“NoneType”