>> isPalind-6ren">
gpt4 book ai didi

python - 回文,没有字符串不能返回 False

转载 作者:行者123 更新时间:2023-11-28 21:14:19 28 4
gpt4 key购买 nike

回文是可以从任一方向以相同方式阅读的单词、短语、数字或其他单位序列。编写一个函数来确定给定的单词或数字是否为回文。

示例

>>> isPalindrome("")
False
>>> isPalindrome("Racecar")
True
>>> isPalindrome(121)
True
>>> isPalindrome("Never")
False
>>> isPalindrome("level")
True

我的代码

def isPalindrome(word):
word = str(word)
if word == ''.join(reversed(word)) :
return True
elif len(word)<1 or word[0] == '':
return False
else:
return False
print isPalindrome('')
print isPalindrome('abba')
print isPalindrome('level')
print isPalindrome(12321)

这段代码返回的是什么。

True
True
True
True

它应该为 >>> isPalindrome("") 返回 false,但它返回 True,所以我应该如何更改我的代码以使其正确。在其他情况下,代码工作正常。

最佳答案

def isPalindrome(word):
word = str(word)
if word and word == ''.join(reversed(word)):
return True
else:
return False

返回 True仅当word是真的 word == ''.join(reversed(word))是真的。只有非空字符串才为真。这消除了测试 len(word)<1 的需要.

顺便测试一下word[0] == ''可能不会做你期望的事情:如果word为空,则word[0]会抛出 IndexError .

更简单

根据 BrianO 的建议:

def isPalindrome(word):
word = str(word)
return bool(word) and word == word[::-1]

关于python - 回文,没有字符串不能返回 False,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31668115/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com