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

如何编写Python程序输出指定字符开头的长度≥3的子串

错误代码原因排查

现有代码仅输出1个符合要求子串的问题根源如下:

  • 输出第一个匹配子串后直接执行break终止循环,没有继续查找后续其他匹配位置
  • 循环内没有更新查找的起始位置,始终只匹配第一次找到的目标字符位置
  • 第一行存在重复赋值的笔误:word = word = input(...),多余的赋值语句可删除
正确实现方案
word = input("Please type in a word: ")
character = input("Please type in a character: ") 

# 首次查找目标字符的位置
curr_index = word.find(character)
while curr_index != -1:
    # 校验当前位置后存在足够长度的字符
    if len(word) >= curr_index + 3:
        print(word[curr_index:curr_index+3])
    # 从当前匹配位置的下一位开始,查找下一个目标字符
    curr_index = word.find(character, curr_index + 1)

运行上述代码,输入mammoth和字符m时,会依次输出mam、mmo、mot,完全符合预期效果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 17:39:03