给定一个包含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)
答案 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")