回文弦。如何排除非字符串。

时间:2018-03-20 22:46:01

标签: python string python-3.x

如果给定的字符串是Palindrome,我已经修改了以下函数来返回。我也有它不包括大写,空格和标点符号。我该如何修改它以返回" false"如果用户输入非字符串。

import string

def remove_punctuations(word):
    return "".join(i.lower() for i in word if i in string.ascii_letters)

def reverse(text):
    return text[::-1]

def is_palindrome(text):
    text = remove_punctuations(text)
    return text==reverse(text)

# where I am entering the string
something = "12.5"

if (is_palindrome(something)):
   print("True")
else:
   print("False")

# some test cases
>>> isPalindrome("alula")
True
>>> isPalindrome("love")
False
>>> isPalindrome(12)
False
>>> isPalindrome(12.21)
False

另外我如何调整此代码以便输入is_palindrome(某物),而不是手动输入"某些内容"

1 个答案:

答案 0 :(得分:0)

这里有多个选项。您可以使用input(),raw_input(),argparse,optparse来获取用户的输入。
关于输入的类型,你可以检查python的isinstance()方法。