类型为'的对象;功能';在python中没有len()

类型为'的对象;功能';在python中没有len(),python,Python,我已经为这个错误寻找了一段时间的解决方案,但是对其他人有帮助的解决方案对我没有多大帮助 这是我写的代码 def main(): while True: userInput() characterCount(userInput) middleLetter() spaceCount() letterReplace() displayOutput() def userInput(): s

我已经为这个错误寻找了一段时间的解决方案,但是对其他人有帮助的解决方案对我没有多大帮助

这是我写的代码

def main():
    while True:
        userInput()
        characterCount(userInput)
        middleLetter()
        spaceCount()
        letterReplace()
        displayOutput()


def userInput():
    sentence = str(input('Enter a sentence at least 10 letters long, or type STOP to quit:')) 
    if sentence == 'STOP':
        quit()
    return sentence

def characterCount(sentence):
    characterCount = len(sentence) - sentence.count(' ')
    if characterCount < 10:
        print('Sorry that is less than 10 letters')
    return characterCount

def middleLetter(sentence):
    sentence = len(sentence)/2
    middleLetter = [sentence +1]
    return middleLetter

def spaceCount(sentence):
    spaceCount = sentence.count(' ')
    return spaceCount


def letterReplace(sentence):
    letterReplace= sentence.replace("a", "&")
    return letterReplace


def displayOutput(characterCount,middleLetter,spaceCount,letterReplace):
    print('Number of letters: '(characterCount))
    print('Middle letter: '(middleLetter))
    print('Spaces counted: '(spaceCount))
    print('Sentence with letter replaced: '(letterReplace))


main()
def main():
尽管如此:
用户输入()
字符计数(用户输入)
中间字母()
空格计数()
替换字母()
displayOutput()
def userInput():
句子=str(输入('输入一个至少10个字母长的句子,或键入STOP退出:'))
如果句子==“停止”:
退出
返回判决
def characterCount(句子):
characterCount=len(句子)-句子。计数(“”)
如果characterCount<10:
打印('对不起,少于10个字母')
返回字符计数
字母(句子):
句子=len(句子)/2
中间字母=[句子+1]
回信
def spaceCount(句子):
空格计数=句子。计数(“”)
返回空间计数
def字母替换(句子):
字母替换=句子。替换(“a”、“&”)
回信替换
def displayOutput(字符计数、中间字母、空格计数、字母替换):
打印('字母数:'(字符计数))
打印('中间字母:'(中间字母))
打印('已计算的空格:'(空格计数))
打印('替换字母的句子:'(替换字母))
main()
我的问题是,当我运行程序时,我得到了错误

Traceback (most recent call last):
  File "C:\Users\wood\Desktop\Software design\Program 4\program3_4QuinnWood.py", line 59, in <module>
    main()
  File "C:\Users\wood\Desktop\Software design\Program 4\program3_4QuinnWood.py", line 18, in main
    characterCount(userInput)
  File "C:\Users\wood\Desktop\Software design\Program 4\program3_4QuinnWood.py", line 32, in characterCount
    characterCount = len(sentence) - sentence.count(' ')
TypeError: object of type 'function' has no len()
Traceback (most recent call last):
  File "C:\Users\wood\Desktop\Software design\Program 4\program3_4QuinnWood.py", line 59, in <module>
    main()
  File "C:\Users\wood\Desktop\Software design\Program 4\program3_4QuinnWood.py", line 22, in main
    displayOutput(characterCount,middleLetter,spaceCount,letterReplace)
  File "C:\Users\wood\Desktop\Software design\Program 4\program3_4QuinnWood.py", line 53, in displayOutput
    print('Number of letters:'(characterCount))
TypeError: 'str' object is not callable
回溯(最近一次呼叫最后一次):
文件“C:\Users\wood\Desktop\Software design\Program 4\Program 3\u 4QuinnWood.py”,第59行,在
main()
文件“C:\Users\wood\Desktop\Software design\Program 4\Program 3_4QuinnWood.py”,第18行,主文件
字符计数(用户输入)
文件“C:\Users\wood\Desktop\Software design\Program 4\Program 3\u 4QuinnWood.py”,第32行,字符计数
characterCount=len(句子)-句子。计数(“”)
TypeError:类型为“function”的对象没有len()
我看到这个错误的大多数时候是因为使用了int而不是字符串,但是我看不出是什么导致了这个错误。任何帮助都将不胜感激

使用一些给定的建议,我已经修复了最初的错误,但现在当我尝试运行它时,我收到了错误

Traceback (most recent call last):
  File "C:\Users\wood\Desktop\Software design\Program 4\program3_4QuinnWood.py", line 59, in <module>
    main()
  File "C:\Users\wood\Desktop\Software design\Program 4\program3_4QuinnWood.py", line 18, in main
    characterCount(userInput)
  File "C:\Users\wood\Desktop\Software design\Program 4\program3_4QuinnWood.py", line 32, in characterCount
    characterCount = len(sentence) - sentence.count(' ')
TypeError: object of type 'function' has no len()
Traceback (most recent call last):
  File "C:\Users\wood\Desktop\Software design\Program 4\program3_4QuinnWood.py", line 59, in <module>
    main()
  File "C:\Users\wood\Desktop\Software design\Program 4\program3_4QuinnWood.py", line 22, in main
    displayOutput(characterCount,middleLetter,spaceCount,letterReplace)
  File "C:\Users\wood\Desktop\Software design\Program 4\program3_4QuinnWood.py", line 53, in displayOutput
    print('Number of letters:'(characterCount))
TypeError: 'str' object is not callable
回溯(最近一次呼叫最后一次):
文件“C:\Users\wood\Desktop\Software design\Program 4\Program 3\u 4QuinnWood.py”,第59行,在
main()
文件“C:\Users\wood\Desktop\Software design\Program 4\Program 3_4QuinnWood.py”,第22行,主目录
显示输出(字符计数、中间字母、空格计数、字母替换)
文件“C:\Users\wood\Desktop\Software design\Program 4\Program 3\u 4QuinnWood.py”,第53行,在displayOutput中
打印('字母数:'(字符计数))
TypeError:“str”对象不可调用

您需要捕获
userInput()的输出。


您试图在此处使用函数作为参数调用函数

userInput() characterCount(userInput) 用户输入() 字符计数(用户输入) 而是捕获变量中的返回值,并将该变量作为参数调用另一个函数

例如:

def():
返回4
def c(f):
返回f
x=c(f)#
打印(目录(x))
# “UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUglobals\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu hash\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu__新的、新的、新的、新的、新的、新的、新的、新的、新的、新的、新的、新的、新的、新的、新的、新的、新的、新的、新的、新的

在你的代码中没有len()

的对象
userInput
没有len()。但是object
userInput()
-有。

循环中尝试
user\u input=userInput();characterCount(user\u input)