如何在python中检查单词是否回文
我尝试了这一点,但得到了类似于回溯的错误(最近的一次呼叫):如何在python中检查单词是否回文,python,Python,我尝试了这一点,但得到了类似于回溯的错误(最近的一次呼叫): 这里如何处理数字?在使用数字之前,请先使用str()将单词转换为字符串。范例- File "Code", line 3, in isPalindrome TypeError: 'int' object has no attribute '__getitem__'. 如果word为int,它将转换为string。否则,如果它已经是字符串,它将保持为字符串 def isPalindrome(word): n1 = str(wor
这里如何处理数字?在使用数字之前,请先使用
str()
将单词转换为字符串。范例-
File "Code", line 3, in isPalindrome
TypeError: 'int' object has no attribute '__getitem__'.
如果word
为int,它将转换为string。否则,如果它已经是字符串,它将保持为字符串
def isPalindrome(word):
n1 = str(word)
n2 = str(word)[::-1]
if n1 == n2 :
return True
else:
return False
对阿南德回答(imho)的重写稍微好一点
注意:根据PEP 0008,python函数名应为小写字母,以下划线分隔,除非这违反了本地约定。(对于任何肮脏的Java程序员)它可以扩展到测试一个句子:
def is_palindrome(s):
s = str(s)
return s == s[::-1]
这是完全正确的代码???您要输入什么?n1是我们要输入的单词。其中,word[::-1]将给出n1的反方向。您的代码是正确的。您可能在函数调用过程中出错。您也可以提供函数调用代码吗?错误消息是
'int'对象…
。您可以控制输入参数吗?我将通过函数str()将其转换为字符串。您使用str()将int转换为字符串。工作正常。很高兴它能为您工作。如果答案是有帮助的,我想建议你接受一个答案(无论哪个答案对你有帮助),它将对社区有帮助。
def is_palindrome(s):
s = str(s)
return s == s[::-1]
import re
def is_palindrome(sentence):
sentence = re.sub(r'[^a-zA-Z0-9]','',str(sentence)).lower()
return sentence == sentence[::-1]