2017-11-18 94 views
-2

我一直坚持处理python中的错误,并一直在寻找一段时间来修复它,但无济于事。错误:'str'对象不可调用python

这里是我得到

Traceback (most recent call last): 
    File "C:\Users\wood\Desktop\Software design\Program 4\program3_4QuinnWood.py", line 62, in <module> 
    main() 
    File "C:\Users\wood\Desktop\Software design\Program 4\program3_4QuinnWood.py", line 23, in main 
    displayOutput(letterCount,middleCharacter,spaceAmount,aReplace) 
    File "C:\Users\wood\Desktop\Software design\Program 4\program3_4QuinnWood.py", line 56, in displayOutput 
    print('Number of letters:'(letterCount)) 
TypeError: 'str' object is not callable 

这是迄今为止我所编写的代码错误。

def main(): 

    while True: 
     sentence= userInput() 
     letterCount= characterCount(sentence) 
     middleCharacter= middleLetter(sentence) 
     spaceAmount= spaceCount(sentence) 
     aReplace= letterReplace(sentence) 
     displayOutput(letterCount,middleCharacter,spaceAmount,aReplace) 


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): 
    letterCount = len(sentence) - sentence.count(' ') 
    if letterCount < 10: 

     print('Sorry that is less than 10 letters') 


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


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



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



def displayOutput(letterCount,middleCharacter,spaceAmount,aReplace): 
    print('Number of letters:'(letterCount)) 
    print('Middle letter:'(middleCharacter)) 
    print('Spaces counted:'(spaceAmount)) 
    print('Sentence with letter replaced:'(aReplace)) 

main() 

该解决方案可能是简单的,我俯瞰,但任何帮助,将不胜感激。

+1

相关:https://stackoverflow.com/questions/47363786/object-of-type-function-has-没有-LEN-中的Python / – bhansa

回答

1

错误状态str object not callable这意味着您正在处理字符串,如函数或任何可在代码中调用的字符串()

的问题是在打印报表displayOutput()功能

更正代码

def displayOutput(letterCount,middleCharacter,spaceAmount,aReplace): 
    print('Number of letters:',letterCount) 
    print('Middle letter:',middleCharacter) 
    print('Spaces counted:',spaceAmount) 
    print('Sentence with letter replaced:',aReplace) 

main()