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
相关产品推荐
相关产品推荐

