用字符串切片实现回文(palindrome)判断

本文介绍了两种不同的方法来判断一个字符串是否为回文。第一种方法使用 Python 的切片功能直接比较字符串与其反转后的形式;第二种方法采用递归方式,逐步检查字符串的首尾字符是否相同。这两种方法简单而有效,适合于理解和实践 Python 编程中的基本概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 好神奇,这样都可以实现。
# 步长为-1 表示切片按照相反的方向访问字符串,所以切片[::-1]会得到一个逆序的字符串。



def is_palindrome(string):
    if string == string[::-1]:
        return True
    return False

print(is_palindrome('abcbc'))
print(is_palindrome('abcba'))

《像计算机科学家一样思考Python》练习8-3

 

 

以下这部分是转载自网址

http://greenteapress.com/thinkpython2/code/palindrome_soln.py

《像计算机科学家一样思考Python》练习6-3

def first(word):
    """Returns the first character of a string."""
    return word[0]


def last(word):
    """Returns the last of a string."""
    return word[-1]


def middle(word):
    """Returns all but the first and last characters of a string."""
    return word[1:-1]


def is_palindrome(word):
    """Returns True if word is a palindrome."""
    if len(word) <= 1:
        return True
    if first(word) != last(word):
        return False
    return is_palindrome(middle(word))


print(is_palindrome('allen'))
print(is_palindrome('bob'))
print(is_palindrome('otto'))
print(is_palindrome('redivider'))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值