Python If-Else语句没有';t返回Else语句

Python If-Else语句没有';t返回Else语句,python,if-statement,Python,If Statement,数字6有什么问题?拒绝数字列表[i+1] 在最后一步中,超出界限并引发索引器,您捕获并传递该索引器,因此不会引发异常,程序将结束。由于您提前查看reject_numberList,因此您将得到一个异常-索引超出6的界限-它后面的数组中没有项目。首先检查ti

数字6有什么问题?

拒绝数字列表[i+1]

在最后一步中,超出界限并引发
索引器
,您捕获并
传递该索引器
,因此不会引发异常,程序将结束。

由于您提前查看reject_numberList,因此您将得到一个异常-索引超出6的界限-它后面的数组中没有项目。首先检查ti您正在迭代具有相同元素量的已创建数组

问题的原因是
if
零件:

Is 1 resend?
True
Is 2 resend?
True
Is 3 resend?
True
Is 4 resend?
True
Is 5 resend?
True
Is 6 resend?

Process finished with exit code 0
if(拒绝数字列表[i]<重新发送数字列表[i]和重新发送数字列表[i]==拒绝数字列表[i+1]):
您的
拒绝\u numberList[i+1]
将超出限制

tldr:
您在上一次迭代中的
i
值为6,并且
reject\u numberList[i+1]
希望获得
reject\u numberList
中不存在的第7个元素您正在使用此代码导致索引错误:
reject\u numberList[i+1]

这个问题源于我以5结尾的事实。因此,6将是
reject\u numberList
的索引

由于列表从索引0开始,列表
['1'、'2'、'3'、'4'、'5'、'6']
将不接受索引6;6超出了列表的范围

想象一下:

if(reject_numberList[i] < resend_numberList[i] and resend_numberList[i] == reject_numberList[i+1]):
['1','2','3','4','5','6']

#01 2 3 4 5由于python从0开始计数,因此出现索引超出范围的错误…数组中有6个元素(不确定为什么将数字存储为字符),但python中有0、1、2、3、4、5、6个元素。要避免问题,请尝试

['1','2','3','4','5','6']
# 0   1   2   3   4   5  <- There is no sixth position, since we started at 0.

为什么要将数字存储为字符串?为什么您的异常处理程序为空?最后一项生成了一个索引器(由于
reject\u numberList[i+1]
表达式),但您的
except
子句掩盖了这一点。不要抑制
索引器,您将看到
reject_numberList[i+1]
是问题所在。因为
列表索引超出范围
try/except,掩码异常被认为是一种糟糕的编码实践(即,您的pass-in except)。看见问题是代码错误无法被检测到。
['1','2','3','4','5','6']
# 0   1   2   3   4   5  <- There is no sixth position, since we started at 0.
for i in range(len(rejectNumber_list))