代码错误有两处,一是for i inrange(0,number)就好了,不要再-1;二是匹配到特殊符号时,直接删除元素,导致something的长度也-1了,而for循环还是用的原长度,就会导致index超出范围
你第一次测试时,something的长度是8,number=8, for i in range(0,number)是i=0-7可以覆盖所有something的元素,但是你用number-1了,导致最后一个元素是覆盖不到的。 也就是检测到空格那个元素时,删掉了something[6],那么'!'作为删之前的something[7]现在就成了新的something[6]保留了下来,也避开了对something[7]的检测,既没有报错也没有被删掉