下面代码是否能够正确运行,若不能请解释原因;若能,请分析其执行结果
遇到程序已经给出了代码,一定要自己动手在程序里面跑一下,运行结果如下:
报错类型:如果不懂英文单词什么意思的话,可以借助软件进行翻译,这里是索引错误,列表分配索引超出范围(百度翻译给出的结果),用人话说就是:x[i]里面的i值大于列表的实际长度,才出现报错
调试:在del语句的前后都添加print语句
①首先看一下在进行del语句的前后x[i]的数值是多少
②如果这里不明白的话,再添加部分代码如下
③尝试再添加一些代码,补充输出
输出结果分析
从最后一张图中可以看出,最后可正常运行时候x列表长度是10,索引下标的值为9,那么下一步的运行就是x列表长度是9,索引下标的值为10,这也就是产生了报错:x[i]里面的i值大于列表的实际长度
问题:
下面两种代码的逻辑不是一致的吗?怎么会输出不同呢?
代码调试如下图: