Python 定一个判断回文串的函数

问题描述:

编写函数名为is_Palindrome的函数,该函数须能够判断字符串是否为回文。(回文串即形如“DCBABCD”形式的字符串,该字符串无论从左读还是从右读,所读的顺序是一样的)。

有用点个采纳


def is_Palindrome(string):
    if len(string) < 2:
        return True

    i, j = 0, len(string) - 1

    while i < j:
        if string[i] != string[j]:
            return False

        i += 1
        j -= 1

    return True


print(is_Palindrome("aabaa"))

方法1:

首尾遍历

方法2:

生成一个 翻转的字符串

和 原字符串比较

def is_Palindrome(str):
    judgelist = []#初始化一个用于储存判断值的判断列表
    for i in range(len(str)):#遍历字符串str里的每一个字符
        if str[i] != str[len(str)-i-1]:#如果以字符串中心对称的两个字符不同,就添加一个False到判断列表
            judgelist.append('Flase')
    return 'True' if judgelist == [] else 'Flase'#如果判断列表为空,说明没有不满足条件的情况,就输出True,否则输出Flase

基于上面的回答,再送你一个压缩版的:

def is_Palindrome(str):return 'True' if '1' not in ['1' if str[i] != str[len(str)-i-1] else ['0'] for i in range(len(str))] else 'Flase'