Python自定义format_name函数双空参数返回结果错误求助
问题原因
你的函数分支判断顺序存在错误,双参数均为空的判断优先级低于单参数为空的判断,当两个入参都为空字符串时,会直接命中第一个first_name == ""的判断分支,返回Name: ,根本不会执行到你写的双空判断逻辑。
修复方案
调整判断顺序,把双参数为空的判断放到最前面即可,优化后的代码如下:
def format_name(first_name, last_name): if first_name == "" and last_name == "": return "" elif first_name == "": return ("Name: " + last_name) elif last_name == "": return("Name: "+ first_name) else: return 'Name: ' + last_name + ", " + first_name
验证测试
执行你提供的四个测试用例,输出结果完全符合要求:
Name: Hemingway, Ernest Name: Madonna Name: Voltaire # 双空参数用例返回空字符串,无多余输出
内容的提问来源于stack exchange,提问作者disneynana787
相关产品推荐
相关产品推荐

