回文字符串(10分)
题目内容:
给定一个字符串,判断它是否是回文字符串(即类似于peep, 12321这样的对称字符串),如果是输出True,不是则输出False。
判断过程中假定只考虑字母和数字字符,而且忽略字母的大小写和其它符号(如空格、标点符号等)。
输入格式:
共一行,为一个字符串。
输出格式:
共一行,为True或False。
输入样例:
- love e vol;
输出样例:
True
时间限制:500ms内存限制:32000kb
程序1:
import string
def huiwen(text):
return text[::-1]
def isHuiWen(text):
text = text.lower()
text = text.replace(' ', '')
for n in string.punctuation:
text = text.replace(n, '')
return text == huiwen(text)
def main():
text = input("")
if isHuiWen(text):
print("True")
else:
print("False")
if __name__ == '__main__':
main()
程序2:
a=input()
b=''
for c in a:
if c.isalpha() or c.isdigit():
b=b+c.lower()
for i in range(len(b)//2):
if b[i]!=b[-1-i]:
print(False)
else:
print(True)
程序3:
a=input()
#只留下数字和字母,统一变为小写
b=''.join(map(lambda x:x.lower() if x.isdigit() or x.isalpha() else '',a))
#与倒转对比是否相等
print(b==b[::-1])