import sys
for arg in sys.argv[1:]:
def is_palindrome(s):
if len(s) <= 1:
return arg
else:
if s[0] != s[len(s)-1]:
return
else:
return is_palindrome(s[1:len(s)-1])
print(is_palindrome(arg))
答案 0 :(得分:0)
应该是这样的。
import sys
def is_palindrome(s):
length=len(s)
if length < 2:
return True
elif s[0] != s[-1]:
return False
else:
return is_palindrome(s[1:length - 1])
for arg in sys.argv[1:]:
if(is_palindrome(arg)):
print(arg)
在您的情况下,您在循环结束时编写该print语句,因此它不会检查每个参数。相反,它将首先迭代所有这些参数,当循环终止时,你的arg变量中只有最后一个参数,以便它只打印最后一个元素。
试试这个更新过的。它只打印回文参数。