python第3章-21 判断回文字符串 (15分)

Python实现回文字符串判断
该博客介绍如何在Python中判断一个字符串是否为回文。通过输入一个字符串,利用切片操作或者`reversed()`函数可以检查字符串是否正读反读相同。提供了具体的示例代码和解释。

题目是这样的。
第3章-21 判断回文字符串 (15分)
输入一个字符串,判断该字符串是否为回文。回文就是字符串中心对称,从左向右读和从右向左读的内容是一样的。

输入格式:
输入在一行中给出一个不超过80个字符长度的、以回车结束的非空字符串。

输出格式:
输出在第1行中输出字符串。如果它是回文字符串,在第2行中输出Yes,否则输出No。

输入样例1:
level
输出样例1:
level
Yes
输入样例2:
1 + 2 = 2 + 1 =
输出样例2:
1 + 2 = 2 + 1 =
No

str1 = input()
str2 = str1[::-1]
#逆序产生一个新的字符串
print(str1)
### 使用Python递归函数判断回文字符串Python中,可以通过递归的方式编写一个函数来判断给定的字符串是否为回文字符串。以下是基于已有引用内容以及标准实践的方法。 #### 方法描述 为了验证一个字符串是否为回文字符串,可以采用如下逻辑: 1. **基线条件**:当字符串长度小于等于1时,认为其是一个回文字符串。 2. **比较两端字符**:如果字符串的第一个字符与最后一个字符不同,则该字符串不是回文字符串3. **递归调用**:如果两端字符相同,则去掉这两个字符并对其余部重复上述过程。 下面是具体的实现代码: ```python def is_palindrome(s: str) -> bool: """ 判断输入字符串是否为回文字符串 参数: s (str): 待检测的字符串 返回: bool: 若是回文字符串返回True,否则返回False """ # 将字符串转换为统一的小写形式,并移除非字母数字字符 cleaned_s = &#39;&#39;.join([char.lower() for char in s if char.isalnum()]) # 基线条件:如果字符串长度小于2,则它是回文 if len(cleaned_s) < 2: return True # 比较首尾字符是否相等 if cleaned_s[0] != cleaned_s[-1]: return False # 递归处理中间子串 return is_palindrome(cleaned_s[1:-1]) ``` 此代码实现了完整的功能,包括清理输入字符串中的无关字符(如标点符号),并将所有字符转为小写以便忽略大小写的差异[^1]。 #### 示例运行 下面展示了一个简单的测试案例及其预期输出结果: ```python print(is_palindrome("A man, a plan, a canal: Panama")) # 输出应为 True print(is_palindrome("racecar")) # 输出应为 True print(is_palindrome("hello")) # 输出应为 False ``` 以上例子展示了如何通过递归来解决实际问题,同时也考虑到了一些边界情况和预处理需求[^2]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值