Python:<typeerror>&#39; str&#39;对象不可调用

时间:2015-07-25 22:20:20

标签: string python-2.7

我是python中的一个菜鸟,我正在搞乱它。我在第20行的标题中有错误。我在一些网站上看到原因可能是使用了一些预定义的变量,但我在这里没有看到这个问题(因为,可能,我是一个菜鸟)。抛出错误的代码行是这个&#34; Array [2] = string.uppercase(index1)&#34;。提前谢谢。

编辑:对不起,如果我的代码看起来混乱/混乱,我真的需要努力。

Edit2:

我试图创建一个包含3个位置的数组,并在第三个位置执行A到Z的增量,然后当它到达Z时,再次执行,但现在使用范围0到9 ...然后增加第二个位置(到B)并重新做一遍。

#!/usr/bin/python2.7

import string

Array = ['A','A','A']

def Exp():

    index1 = 0
    count = 0

    while Array[1]!=9:
        if Array[2]==9:
            Array[1] = string.uppercase[count]
            count = count + 1
            Array[2]='A'
            index1 = 0
        else:
            while Array[2]!=9:
                Array[2] = string.uppercase[index1]
                index1 = index1 + 1 
                if Array[2] == 'Z':
                    Array[2] = 0
                    while Array[2] < 9:
                        Array[2] = Array[2] + 1                     

Exp()   

1 个答案:

答案 0 :(得分:1)

string.uppercase是一串大写字母:

>>> import string
>>> string.uppercase
'ABCDEFGHIJKLMNOPQRSTUVWXYZ'

你出于某种原因试图调用它:

>>> string.uppercase(3)
Traceback (most recent call last):
  File "<ipython-input-3-757b0bb892f1>", line 1, in <module>
    string.uppercase(3)
TypeError: 'str' object is not callable

我不理解您的代码,但也许您打算将其编入索引?

>>> string.uppercase[3]
'D'
但是,你可能想要做的事太多了。

(至于为什么人们在复制你的代码时遇到了麻烦,看起来你混合了标签和空格,这使我们很难知道缩进的真正含义,我们看到的缩进是否是您正在使用的缩进等。请始终使用四个空格缩进。

目前尚不清楚如何突然发现错误的线路。)