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

连续3个及以上相同字符移除程序优化:禁用pop与break

符合要求的糖果消消乐字符串处理程序

功能说明

  • 接收用户输入字符串,持续移除所有3个及以上连续相同字符的组,直到没有符合条件的组存在
  • 支持用户重复输入字符串,直到选择退出

约束条件

  • 仅允许使用 while、if、elif、else 语句
  • 禁止使用 pop() 方法,必须改用 remove() 方法
  • 禁止使用 break 语句

优化后代码

# 欢迎信息
print("你好!欢迎来到糖果消消乐字符串版!")

# 主循环,支持重复操作
while True:
    decision = input("是否要输入字符串?")
    
    if decision == "是" or decision == "yes" or decision == "Yes":
        string_input = input("请输入字符串:")
        chars_list = list(string_input)
        print(f"原始列表:{chars_list}")
        print(f"原始字符串:{string_input}")
        
        # 持续检查并移除连续重复组的循环
        has_duplicates = True
        while has_duplicates:
            has_duplicates = False
            idx = 0
            # 遍历列表查找连续3个相同字符
            while idx <= len(chars_list) - 3:
                if chars_list[idx] == chars_list[idx+1] == chars_list[idx+2]:
                    # 记录要移除的字符
                    target_char = chars_list[idx]
                    # 移除三个连续相同字符(remove会删除第一个匹配项,执行三次完成移除)
                    chars_list.remove(target_char)
                    chars_list.remove(target_char)
                    chars_list.remove(target_char)
                    has_duplicates = True
                    # 重置索引,重新检查整个列表
                    idx = 0
                else:
                    idx += 1
        
        result = "".join(chars_list)
        print(f"处理后的字符串:{result}\n")
    
    elif decision == "否" or decision == "no" or decision == "No":
        print("感谢使用!祝你愉快!")
        exit()
    
    else:
        print("请输入「是」或「否」,或者英文的Yes/No")

代码说明

  1. 主循环设计:通过外层while True实现用户重复操作,直到选择退出
  2. 重复移除逻辑:用has_duplicates标记是否还有需要移除的组,每次移除后重置索引重新检查,确保移除后新形成的连续组也被处理
  3. 替换pop为remove:通过记录目标字符,连续调用三次remove()来删除三个连续相同的字符(remove()会删除列表中第一个匹配的元素,连续三次刚好移除连续的三个)
  4. 输入兼容:支持中文「是/否」和英文「Yes/No」的输入判断,同时对无效输入给出提示

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 04:05:24