You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python回文判断函数问题:else用pass返回None的原因分析

问题分析与解决

当前代码

def is_palindrome(name):
    if "".join(reversed(name.lower())) == name.lower():
        return "Congratulations, {0} is a palindrome!".format(name)
    else:
        return f"Sorry! {name} is not a palindrome."
    
print(is_palindrome("roger"))

关于你的疑问

  • 反转前转小写的需求:你现在的代码已经实现了这个逻辑——name.lower()会先将输入的名称转换为全小写,再通过reversed反转,之后与原名称的小写形式做比较,所以像"Hannah"这类大小写混合的回文字符串,能被正确识别为回文。
  • else用pass返回None的问题:Python函数如果没有显式的return语句,默认会返回None。之前你在else分支只写了pass,当输入不是回文时,函数执行完else后没有返回值,自然输出None。现在给else分支添加return语句后,无论输入是否为回文,函数都会返回对应的提示信息,就不会再出现返回None的情况了。

内容的提问来源于stack exchange,提问作者Dia Rah

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 14:55:17