Python经典练习:判断回文字符串的4种方法

2 阅读2分钟

一 回文字符串简介

判断字符串是否为回文是一个经典的python练习,解决方法也很多,
今天介绍4种使用python的几个基础方法来判断回文字符串,
以此帮助Python初学者更好的掌握一些Python基础操作。

二 回文字符串

什么是回文字符串?
首先是个字符串,
其次这个字符串正看和反看是一样的

回文字符串:
aba  abba  abccba  AbcbA

不是回文字符串
abb  abc  cbba  Aba

说明,我们这里写的字符串是区别大小写字母的。

三 判断回文字符串的方法1

咱们先看麻烦的方法。

这个方法是遍历字符串,
看第1位和最后1位、第2位和倒数2位...是否相等
【图1】
代码如下:

a = input("输入字符串:")

#统计字符串a的字数
n = len(a)

'''
正常用n//2就可以,
这里再加1个,是为了判断是否有意外退出
看下面程序,最后的一个循环
'''
for i in range(n//2+1):

    if a[i]!=a[n-i-1]:
        print("不是回文")
        #不相等,就退出循环,后面不用看了
        break  
        
    #i到最后了,还没结束循环,说明是回文
    if i==n//2:
        print("是回文")

四 判断回文字符串的方法2

这个方法比上面的简单一点,

思路: 新建一个倒叙的字符串,看和原来的是否一样
代码:

a = input("输入字符串:")
b = "" #定义新字符串b
n = len(a) #统计a的字数

#用range倒叙读取,从后到0,每次-1
for i in range(n-1,-1,-1):
    #把字符加入到b中
   b += a[i]

#判断
if a == b:
   print("是回文")
else:
   print("不是回文")

五 判断回文字符串的方法3

更简单的一种方法。

思路:
用Python内置函数reversed将字符串反转,再判断是否相等。

注意:
reversed会得到一个数据地址,需要用list转为列表。
代码:

a = input("输入字符串:")

#转置字符串a,再转为列表
b = list(reversed(a))
c = list(a) #把a也转为列表 

if c == b:
   print("是回文")
else:
   print("不是回文")

六 判断回文字符串的方法4

最最最简单 + 最最最粗暴的一种方法。

思路:直接看正序和反序是否一样。
a[::-1]表示字符串的倒序,这个很有用。
代码:

a = input("输入字符串:")

if a == a[::-1]:
 print("是回文")
else:
 print("不是回文")

好了,以上是用Python判断回文字符串的4种方法,
你 get 到了吗?

如果你有其他方法,欢迎留言!

本文结束

如有疑问,请直接留言!必回!
如有帮助,请点赞转发!感谢!
如想速成,手把手教你!马上!

关注Python入门速学
带你实战快速学Python

本文使用 markdown.com.cn 排版