Python3.x字符串与列表操作:如何判断输入句子是否为回文
Python回文判断功能实现方案
需求说明
- 基于Python3.x实现句子回文判断,规则为句子正读和反读内容完全一致
- 预处理要求:统一字符大小写、去除句子中空格后再做判断
- 测试用例:
- 输入
"MrOwl ate my metal worm"→ 判定为回文 - 输入
"Rose fell"→ 判定为非回文
- 输入
原代码问题点
原有代码已经完成了转小写、按空格拆分的操作,仅缺少列表转无空格字符串的步骤,不需要额外写for循环遍历拼接。
实现方法
列表拼接为无分隔符字符串直接使用''.join(待拼接列表)即可,完整可运行代码如下:
# 可替换为任意待测试的输入文本 raw_text = 'MrOwl ate my metal worm' # 文本预处理:转小写→按空格拆分→拼接为无空格字符串 processed_text = ''.join(raw_text.lower().split()) # 回文判断并输出结果 if processed_text == processed_text[::-1]: print(f'"{raw_text}" -> 该文本是回文') else: print(f'"{raw_text}" -> 该文本不是回文')
逻辑说明
lower()将所有字符转为小写,消除大小写差异对判断结果的影响split()默认按任意空白字符切割字符串,得到单词列表''.join()将列表中的所有单词直接拼接,自动去除所有原句中的空格- 字符串切片
[::-1]可以快速得到反转后的字符串,和预处理后的原字符串直接比较即可完成回文判断
测试结果
- 测试文本
MrOwl ate my metal worm预处理后得到mrowlatemymetalworm,反转后与原串完全一致,判定为回文 - 测试文本
Rose fell预处理后得到rosefell,反转后为llefesor,与原串不一致,判定为非回文
内容的提问来源于stack exchange,提问作者Ben
相关产品推荐
相关产品推荐

