输入一个字符串,判断该字符串是否为回文。回文就是字符串中心对称,从左向右读和从右向左读的内容是一样的。

输入格式:

输入在一行中给出一个不超过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")

 

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐