字符串列表和循环检查

时间:2017-06-28 12:41:45

标签: python python-3.x

给定一个包含N个用户提供的字符串的列表,任务是打印每个字符串是否是回文。 (PYTHON)

我已经有了这个代码。并不断告诉我错误“Traceback(最近一次呼叫最后一次):

  File "C:\Users\jpsam\Desktop\fuckmylife.py", line 20, in <module>
    palindrome_checker(q)
  File "C:\Users\jpsam\Desktop\fuckmylife.py", line 4, in palindrome_checker
    while y <len(inputlist()):
TypeError: 'list' object is not callable"

def palindrome_checker(q):

   y = 0
    while y <len(inputlist()):
        if inputlist == inputlist[::-1]:
            print(q, " is a panlindrome")
            len(inputlist()-1)
        else:
            print (q, "not a palindrome")
            len(inputlist()-1)
        return (q)

x = 1
inputlist = []
while x == 1:
    q = input("Input string: ")
    inputlist.append(q)
    x = int(input("Do you want to add more? [1]YES [0]NO ====>"))

palindrome_checker(q)

1 个答案:

答案 0 :(得分:0)

首先,您的缩进不正确。

其次,语句len(inputlist()-1)正在提供异常,因为您已经跟踪了一个列表inputlist(),它要求解释器将inputlist作为函数调用。不幸的是我不知道这个语句应该实现什么(不是if分支中的另一个 - 你的代码也可以重构)。

更简单的回文函数可能如下所示:

def palindrome(s):
    return s == s[::-1]

您可以按如下方式使用它:

if palindrome("able I was ere I saw elba"):
    print("The phrase is palindromic")