我使用递归来测试一个单词是否是回文。回文是一个单词,它与前一个单词相同:

2024-05-19 01:35:57 发布

您现在位置:Python中文网/ 问答频道 /正文

为什么我得到一个错误内置函数函数或方法对象是不可下标的,我怎样才能使一个字符串成为一个列表,以便我可以索引到字符串?你知道吗

s = input("Please enter a word: ")
s = s.lower
Pal = True
def recpal(s):
    if Pal == False:
        return(False)
    else:
        return(True)

def main():
    y = recpal(s)
    first_char = 0
    last_char = -1
    if s[first_char] != s[last_char]:
        print("It is not a Palindrome")
    i = 0
    while i >= n[-1]:
        first_char = first_char + 1
        last_char = last_char -1</i>





main()

Tags: 函数字符串falsetruereturnifmaindef
2条回答

罪魁祸首是这句话:

s = s.lower

这里您将方法(或函数)s.lower分配给s,覆盖原始字符串。此时您已经丢失了用户输入的内容。出现错误的原因是无法对函数使用[]表示法,例如s[first_char]。你知道吗

很可能您打算调用函数并将其返回值(原始字符串的小写值)保留在s

s = s.lower()

您的代码还有许多其他问题,但正是这些问题导致了错误。你知道吗

你的意思是,在第二行:

s = s.lower()

在那之后还有更多的问题,但是你遇到的具体问题是你没有调用函数(你需要括号)。你知道吗

相关问题 更多 >

    热门问题