判断回文字符串
作者 陈春晖
单位 浙江大学
回文就是字符串中心对称,从左向右读和从右向左读的内容是一样的。
输入一个字符串,判断该字符串是否为回文,只考虑数字和字母字符,字母的大小写没有区别。
输入格式:
输入一个字符串。
输出格式:
是回文,一行输出yes,否则输出no。
输入样例:
在这里给出一组输入。例如:
A man,a plan; cnalPanama
输出样例:
在这里给出相应的输出。例如:
yes
相关介绍:
isalpha()方法:
- isalpha()方法用于检查字符串是否只包含字母,并且字符串长度大于0。
- 如果字符串中所有的字符都是字母并且字符串长度大于0,则返回True;否则返回False。
- 示例:
-
string1 = "abc" string2 = "123" string3 = "abc123" print(string1.isalpha()) # 输出: True print(string2.isalpha()) # 输出: False print(string3.isalpha()) # 输出: False -
isdigit()方法:
- isdigit()方法用于检查字符串是否只包含数字,并且字符串长度大于0。
- 如果字符串中所有的字符都是数字并且字符串长度大于0,则返回True;否则返回False。
- 示例:
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")
本文介绍了如何利用Python中的isalpha()和isdigit()方法,去除字符串中的非字母和数字字符,然后通过比较反转后的列表来判断字符串是否为回文。


&spm=1001.2101.3001.5002&articleId=136665213&d=1&t=3&u=e679bfe67982488092e690fb06e3d000)
1163

被折叠的 条评论
为什么被折叠?



