【问题标题】:TypeError: 'range' object is not callable without apparent reasonTypeError:“范围”对象在没有明显原因的情况下不可调用
【发布时间】:2019-06-27 17:36:38
【问题描述】:

我编写了一个代码来汇总矩阵的数字,但出现此错误 TypeError: 'range' object is not callable 我不知道为什么 这是我的代码:

print ('The summary of the positive and negative numbers of a matrix')
A=[[0 for i in range (col)] for j in range (fil)]
fil=int(input('Number of columns'))
col=int(input('Number of rows'))
auxp=0
auxn=0

for i in range (fil):
    for j in range (col):
        A[i][j]=int(input('Numbers of the matrix'))
for i in range (fil)(col):
    for j in range (fil):
        if (A[i][j]>0):
            auxp=aup+A[i][j]
        else:
            if (A[i][j]<0):
                auxn=auxn+A[i][j]
print ('The summary of the positive numbers is ',auxp)
print ('The summary of the negative numbers is ',auxn)

TypeError                                 Traceback (most recent call last)
<ipython-input-16-83bec8a1085e> in <module>
      9     for j in range (col):
     10         A[i][j]=int(input('Numbers of the matrix'))
---> 11 for i in range (fil)(col):
     12     for j in range (fil):
     13         if (A[i][j]>0):

TypeError: 'range' object is not callable

【问题讨论】:

    标签: python python-3.x object range typeerror


    【解决方案1】:

    我认为你应该像你的代码在第一个 for 循环中那样迭代矩阵的行和列,即像这样:

    for i in range(fil):
        for j in range(col):
            if A[i][j] > 0:
                ...
    

    您的代码不正确,因为它试图调用range 对象:

    >>> range(fil)
    range(0, 10)
    >>> type(range(fil))
    <class 'range'>
    >>> range(fil)(col)
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    TypeError: 'range' object is not callable
    

    所以对range(fil) 的调用会创建一个新的range 对象,然后Python 会尝试调用该对象,就好像它是一个函数一样,将col 作为参数传递给它。

    也许您应该阅读函数和函数调用,以更好地了解函数在 Python 中的工作原理。

    【讨论】:

      【解决方案2】:

      你可能想换行

      for i in range (fil)(col):
      

      只是

      for i in range (fil):
      

      按照您的方式,它是对 range 对象的函数调用,正如错误消息所述,调用 range() 的结果不能用作可调用/函数。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-11-10
        • 2019-05-03
        • 1970-01-01
        • 2014-04-09
        • 1970-01-01
        • 2011-05-25
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多