字符消消乐 有一个字符消消乐游戏。随机产生一串长度为n只包含数字“456”的字符串,如有连续相同的字符则进行消除,提示:字符“0”的 ASCII码值是十进制48。 如字符串“455655565”,其消除过程如下: 第一步:消除字符“5”后形成新字符串“4655565”; 第二步,消除字符“5”后形成新字符串“4665”; 第三步,消除字符“6”后形成新字符串“45”; 最后消除结束,结果为“45”。 实现上述功能的Python程序如下,请在划线处填入合适的代码。 import random n=int(input("请输入字符串长度:")) s="" for i in range(n): #生成n个由“456”字符组成的字符串 m=random.randint(4,6) s=s+chr(48+ ① ) print("字符串为:",s) i=0 while i<len(s): #变量i存储连续相同字符的起始位置索引 r=i #变量r存储连续相同字符的末尾位置索引 while r<len(s)-1 and ② : #留意r值的范围,索引不能越界 r=r+1 if ③ : #当有2个及以上连续相同的字符,需要消除 s=s[:i]+ ④ ⑤ else: i=i+1 print("消除后,字符串为:",s)
正确答案:补全答案(Python字符消消乐):①m ②s[r]==s[r+1] ③r-i>=1 ④s[r+1:] ⑤i=r+1。核心:连续字符消除。