如何正确编写show_excitement函数实现指定字符串仅定义一次返回5次
Python函数实现问题修复
原代码问题分析
- 仅在循环中直接打印目标字符串,没有将内容拼接为符合要求的结果存储
- 最终return返回的是单个空格字符串,完全不符合输出要求
- 调用print的写法是Python 2语法,未兼容Python 3标准
正确实现方案
简洁写法(推荐)
利用列表乘法和join方法实现,代码最精简,完全符合所有约束:
def show_excitement(): # 目标字符串仅定义1次,符合要求 target_str = "I am super excited for this course!" # 生成包含5个目标字符串的列表,用单个空格拼接后返回 return ' '.join([target_str] * 5) print(show_excitement())
循环写法(符合原代码逻辑思路)
如果想沿用原代码的循环逻辑,可以用循环拼接结果:
def show_excitement(): target_str = "I am super excited for this course!" result = "" for i in range(5): # 除了第一次拼接,其余拼接前先加空格 if i != 0: result += " " result += target_str return result print(show_excitement())
实现说明
两种写法都满足所有约束:
- 目标字符串全程仅出现1次,没有复制粘贴多份
- 返回结果是5次字符串拼接、中间用单个空格分隔的完整内容
- 所有结果通过return语句返回,调用print即可输出完整内容
内容的提问来源于stack exchange,提问作者suraj_0o0
相关产品推荐
相关产品推荐

