while(l[i]>="0" and l[i]<="9" and i<len(l)):
num = num+l[i]
i += 1
token.append(num)
未修改前代码看起来没什么问题,但是报越界错误。debug了一下发现是因为while循环条件顺序写反了,导致在最后一次循环后(即i==len(l))时仍然访问不存在的l[i],此时越界。
修改后代码如下:
while(l[i]>="0" and l[i]<="9" and ):
while(l[i]>="0" and l[i]<="9" and i<len(l)):
num = num+l[i]
i += 1
token.append(num)
未修改前代码看起来没什么问题,但是报越界错误。debug了一下发现是因为while循环条件顺序写反了,导致在最后一次循环后(即i==len(l))时仍然访问不存在的l[i],此时越界。
修改后代码如下:
while(l[i]>="0" and l[i]<="9" and ):