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

Python生成器开发疑问:如何实现循环嵌套的Mary字符串生成逻辑

解决Python生成器实现嵌套循环字符串的问题

观察你需要的输出,能总结出明确的规律:

  • 初始输出:I love Mary
  • 后续每一句都是交替用Mary love that 和I love that 作为前缀,拼接上一次生成的完整句子

基于这个规律,可以写出如下生成器代码:

def Mary():
    # 初始句子
    current_sentence = "I love Mary"
    yield current_sentence
    
    # 交替使用的前缀
    prefixes = ["Mary love that ", "I love that "]
    prefix_idx = 0
    
    # 无限循环生成(若要限制次数,可替换为for循环)
    while True:
        current_sentence = prefixes[prefix_idx] + current_sentence
        yield current_sentence
        # 切换前缀索引,实现交替
        prefix_idx = 1 - prefix_idx

测试生成器的效果:

gen = Mary()
print(next(gen))  # 输出: I love Mary
print(next(gen))  # 输出: Mary love that I love Mary
print(next(gen))  # 输出: I love that Mary love that I love Mary
print(next(gen))  # 输出: Mary love that I love that Mary love that I love Mary

代码说明:

  • 先输出初始的基础句子
  • 通过prefix_idx在两个前缀之间切换,每次用当前前缀拼接上一句的内容,生成新句子后yield
  • 使用while True可以无限生成嵌套句子,如果你需要限制生成次数,把while True改成for _ in range(你要的次数)即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 22:20:32