此代码仅适用于commend提示符中的最后一个参数

时间:2017-09-23 13:35:37

标签: python

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))

1 个答案:

答案 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变量中只有最后一个参数,以便它只打印最后一个元素。

试试这个更新过的。它只打印回文参数。