解决方案AttributeError: ‘function‘ object has no attribute ‘split‘

#List的逆向读取以及反转字符串
def reverseWords(input):
    #按照空格拆分句子中的单词为列表
    inputWords = input.split(" ")
    print("初始列表:",inputWords)
    #从后往前读单词列表,就翻转了句子
    inputWords = inputWords[-1::-1]#第一个参数表示列表最后一个元素,第二个参数表示移动到末尾,第三个参数表示每次从后向前移1
    print("翻转后的列表:",inputWords)
    #根据列表重新组合句子
    output = ' '.join(inputWords)
    print("翻转后的句子:",output)

    return output

input("Please input some words:")
rw = reverseWords(input)

执行上述代码后报错如下:

Please input some words:Never Give Up !
Traceback (most recent call last):

  File "", line 16, in 
    rw = reverseWords(input)

  File "", line 3, in reverseWords
    inputWords = input.split(" ")

AttributeError: 'function' object has no attribute 'split'

解决办法是把 input("Please input some words:") 改为 input = input("Please input some words:")
 

修改后的代码如下:

#List的逆向读取以及反转字符串
def reverseWords(input):
    #按照空格拆分句子中的单词为列表
    inputWords = input.split(" ")
    print("初始列表:",inputWords)
    #从后往前读单词列表,就翻转了句子
    inputWords = inputWords[-1::-1]#第一个参数表示列表最后一个元素,第二个参数表示移动到末尾,第三个参数表示每次从后向前移1
    print("翻转后的列表:",inputWords)
    #根据列表重新组合句子
    output = ' '.join(inputWords)
    print("翻转后的句子:",output)

    return output

input = input("Please input some words:")
rw = reverseWords(input)

运行结果:

Please input some words:Never Give Up !
初始列表: ['Never', 'Give', 'Up', '!']
翻转后的列表: ['!', 'Up', 'Give', 'Never']
翻转后的句子: ! Up Give Never

你可能感兴趣的:(Python,Python)