【Python】 第3章-21 判断回文字符串 (15分)
·
输入一个字符串,判断该字符串是否为回文。回文就是字符串中心对称,从左向右读和从右向左读的内容是一样的。
输入格式:
输入在一行中给出一个不超过80个字符长度的、以回车结束的非空字符串。
输出格式:
输出在第1行中输出字符串。如果它是回文字符串,在第2行中输出Yes,否则输出No。
输入样例1:
level
输出样例1:
level
Yes
输入样例2:
1 + 2 = 2 + 1 =
输出样例2:
1 + 2 = 2 + 1 =
No
【Python参考代码】
①对称遍历
#By yangbo 2020.07.13
num=input()
flag=0
print(num)
#判断字符长度是奇数还是偶数
if len(num) % 2 == 0:#偶数就去一半来遍历
for i in range(len(num)//2):
if num[i] == num[len(num)-1-i]:
flag+=1
continue
else:
print("No")#只要有一次不是对称的输出No,然后break
break
else:#奇数处理
for i in range((len(num)-1)//2):
if num[i] == num[len(num)-1-i]:
flag+=1
continue
else:
print("No")#只要有一次不是对称的输出No,然后break
break
if flag==(len(num)//2) or flag==((len(num)-1)//2):#输出判断
print("Yes")

②进阶版:用list 的reversed()函数
主要是抓住列表1reverse后,如果是互文的:列表1==列表2 明显缩短了执行时间
#By yangbo 2020.07.13
num=input()
print(num)
print("Yes") if list(num) == list(reversed(num)) else print("No")

更多推荐



所有评论(0)