如何修改Python循环代码实现单行输出指定格式的绵羊计数字符串?
修改建议
方案1:字符串累加(直观易读)
直接初始化空字符串,循环遍历1到n的数字,把每段x sheep...拼接到结果里,最后返回完整字符串:
def count_sheep(n): result = "" for i in range(1, n + 1): result += f"{i} sheep..." return result
方案2:列表推导式+join(更高效)
如果n的数值较大,字符串累加会生成多个临时字符串,用列表推导式生成所有片段后,再通过join拼接的方式效率更高:
def count_sheep(n): return "".join(f"{i} sheep..." for i in range(1, n + 1))
原代码问题说明
- 原代码用
print逐行输出内容,无法将结果以字符串形式返回; - 原代码中
r变量的操作完全冗余,直接遍历1到n的数字就能实现需求; - 两个修改方案都能正确处理
n=0的情况(返回空字符串),符合非负整数的输入要求。
内容的提问来源于stack exchange,提问作者Mariah
相关产品推荐
相关产品推荐

