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