此问题已在此处有答案:
How to check for palindrome using Python logic(35个回答)
昨天关门了。
我写了一个简短的脚本来告诉我用户输入的短语是否是回文,我想知道如何缩短当前的代码。
下面是当前代码:
def palindrome():
string = input()
stringremove = string.replace(" ", "")
if stringremove[0] == stringremove[-1]:
if stringremove[1] == stringremove[-2]:
if stringremove[2] == stringremove[-3]:
if stringremove[3] == stringremove[-4]:
print("It's a palindrome!")
else:
print("It's not a palindrome!")
else:
print("It's not a palindrome!")
else:
print("It's not a palindrome!")
else:
print("It's not a palindrome!")
palindrome()
显然,我可以继续使用越来越长的短语/单词,但我认为有一种简单的方法可以用更短的代码来解决这个问题。
2条答案
按热度按时间fcwjkofz1#
一般来说,您要查找的是循环,最好搜索
python docs loops
。以下是对您具体问题的快速回答:
这将检查s是否是回文。在您的示例中,按如下方式调用它:
注意,这样输入和预处理就从函数中移走了,使它更通用。
至于回文函数本身,在python中有一种更短的方法,只需反转字符串(
s[::-1]
,详细信息请参见Python slicing)并检查字符串是否相等:s4n0splo2#
尝试: