如果给定的字符串是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(某物),而不是手动输入"某些内容"
答案 0 :(得分:0)
这里有多个选项。您可以使用input(),raw_input(),argparse,optparse来获取用户的输入。
关于输入的类型,你可以检查python的isinstance()方法。