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

Python姓名格式化函数双空入参输出残留Name:前缀问题排查

问题根因

条件分支的匹配顺序错误:Python的if-elif结构会从上到下依次校验判断条件,命中第一个符合条件的分支后就会终止后续判断,不会再执行后面的条件校验。

你写的双参数同时为空的判断放在了单参数为空的判断之后,当两个入参都为空时,第一个判断len(first_name)==0已经满足,会直接执行对应分支的string="Name: "+last_name,拼接空的last_name后就得到了不符合预期的Name: ,双空判断的分支永远不会被命中。

修复方案

把双参数为空的判断移到所有分支的最前面即可,修正后的代码如下:

def format_name(first_name, last_name):
    if len(first_name) == 0 and len(last_name) == 0:
        string = ""
    elif len(first_name) == 0:
        string = "Name: " + last_name
    elif len(last_name) == 0:
        string = "Name: " + first_name
    else:
        string = "Name: " + last_name + ", " + first_name
    return string

修复后运行所有测试用例,输出完全符合预期。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 11:15:04