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

如何在Python中为字符串加前后缀?我的代码无输出求修复建议

修复fix_names函数的问题

你的代码存在几个关键问题,导致没有输出:

  • 函数开头直接将传入的name、added_phrase赋值为空字符串,完全覆盖了调用时传入的参数值,后续拼接时根本没有有效内容
  • position = "prefix" or "suffix"逻辑错误,or运算会直接返回第一个为真的表达式结果,这行代码会让position永远等于"prefix",同时还覆盖了传入的参数
  • return(fix_names)返回的是函数对象本身,没有实际意义
  • 因为参数被清空,就算执行print语句,输出的也是空内容

修复后的代码

def fix_names(name, position, added_phrase):
    if position == "prefix":
        full_name = added_phrase + name
    elif position == "suffix":
        full_name = name + added_phrase
    else:
        # 处理无效的position参数,返回原姓名
        full_name = name
    print(full_name)
    return full_name

# 调用测试
fix_names("John", "prefix", "Dr.")

修复说明

  • 移除了覆盖传入参数的赋值语句,保留调用时的原始输入值
  • 直接使用传入的position参数进行判断,去掉错误的赋值逻辑
  • 增加else分支处理无效的position输入,避免逻辑遗漏
  • 将拼接结果存入变量,统一执行print和return,保证输出和返回结果一致

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 14:54:21