Python编程实践:判断回文字符串(PTA题解)
判断回文字符串
作者 陈春晖
单位 浙江大学
回文就是字符串中心对称,从左向右读和从右向左读的内容是一样的。
输入一个字符串,判断该字符串是否为回文,只考虑数字和字母字符,字母的大小写没有区别。
输入格式:
输入一个字符串。
输出格式:
是回文,一行输出yes
,否则输出no
。
输入样例:
在这里给出一组输入。例如:
A man,a plan; cnalPanama
输出样例:
在这里给出相应的输出。例如:
yes
相关介绍:
isalpha()方法:
string1 = "abc"
string2 = "123"
string3 = "abc123"
print(string1.isalpha()) # 输出: True
print(string2.isalpha()) # 输出: False
print(string3.isalpha()) # 输出: False
isdigit()方法:
num1 = "123"
num2 = "abc"
num3 = "123abc"
print(num1.isdigit()) # 输出: True
print(num2.isdigit()) # 输出: False
print(num3.isdigit()) # 输出: False
代码如下:
a = input()
app = list(a.lower()) '''统一大小写,并将字符串转为列表,方便比较'''
app1 = app[:] '''对列表复制'''
app1 = [elem for elem in app1 if elem.isalpha() or elem.isdigit()] '''删除除字母或者数字外的符号'''
app.reverse() '''将列表反转'''
app2 = app
app2 = [elem for elem in app2 if elem.isalpha() or elem.isdigit()]
cou = len(app1)
flag = 0
'''比较两个列表是否相同'''
for i in range(0,cou):
if app1[i]==app2[i]:
flag = 1
else:
flag = 0
break
if flag == 1:
print("yes")
else:
print("no")