1 ''' 2 消消乐游戏 3 描述:消消乐游戏规则如下:有很多不同颜色的方块,如果在同一条直线上,相同颜色的方块达到一定数量N,则这N个相同颜色的方块被消除(即使大于N个也只消除N个)。剩下的方块将按照顺序向中心集中,集中后如相同颜色的方块数量达到N,继续消除。现以不同的小写英文字母代替不同颜色,请实现消消乐游戏,计算全部消除后剩余的方块。 4 输入1:输入字符串 5 输入2:输入字符串长度 6 输入3:可消除长度 7 示例: 8 输入1:aabbbeccceeffaccfcaa 9 输入2:20 10 输入3:3 11 输出:aaffaccfcaa。 12 解释:连续3个的可消除。aabbbeccceeffaccfcaa,消除bbb、ccc,得到aaeeeffaccfcaa;又可消除eee得aaffaccfcaa。 13 ''' 14 ''' 15 函数名称:reMoveDuplicates 16 函数功能:消除相同的字符串 17 输入参数:sStr - 待消除的字符串 18 iStrLen - 待消除的字符串的长度 19 iNumber - 每次消除的个数 20 输出参数:最大正方形边长 21 ''' 22 def reMoveDuplicates(sStr, iStrLen, iNumber): 23 for item in range(len(sStr)): 24 if item+iNumber>len(sStr): 25 print(f"已消除{iNumber}位相同的字符串,结果为:",sStr) 26 return sStr 27 if sStr[item:item+iNumber]==sStr[item]*iNumber: 28 sStr=sStr.replace(sStr[item:item+iNumber],"") 29 reMoveDuplicates(sStr,len(sStr),iNumber) #循环套删三个相同的数 30 return 31 print(f"已消除{iNumber}位相同的字符串,结果为:",sStr) 32 return sStr 33 34 reMoveDuplicates("aabbbeccceeffaccfcaa",20,3)