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

