所以,基本上我想检查字符串是否是回文
我知道我可以简单地使用
def palindrome(n):
return n == n[::-1]
它工作正常,但如果我想要一个字符串,例如“一只猫,一只螃蟹,哈哈:barcenotaca”。 如果是真的,我该怎么办?
答案 0 :(得分:3)
def palindrome(n):
n = n.lower()
n = ''.join(char for char in n if char.isalpha())
return n==n[::-1]
检查char.isalpha()
可以忽略所有不是字母的内容(当与n = n.lower()
结合使用时,它基本上只检查小写字母)这样,你忽略了所有的标点符号和空白
答案 1 :(得分:2)
def palindrome(n):
x = ''.join([x.lower() for x in n if x.isalpha()])
return x == x[::-1]
答案 2 :(得分:0)
尝试检查给定字符串中的每个字母是否首先出现在字母表中,如下所示
import string
def palindrome(str):
alphabet=string.ascii_lowercase
temp=""
for c in str.lower():
if c in alphabet:
temp+=c
return temp==temp[::-1]
答案 3 :(得分:0)
def palindrome():
stringOne = alphaCheck("give me a lovely palindrome")
stringTwo = stringOne[::-1]
for i in stringOne:
print(i)
for j in stringTwo:
print(j)
if stringOne == stringTwo:
return True
else:
return False
def alphaCheck(prompt):
stringOne = input(prompt)
stringOne = stringOne.replace(" ", "")
stringOne = stringOne.lower()
while not stringOne.isalpha():
stringOne = input(prompt)
return stringOne
print(palindrome())
此方法允许您输入自己的回文并检查以确保它只包含字母字符。如果你想改变它只是数字改变而不是stringOne.isalpha()到