startDate、stopDate、startTime、stopTime、startBehavior和stopBehavior都是长度相同的列表。我得到的列表索引超出了第5行的范围(如果startDate[I]!=停止日期[j]),我不知道为什么。它以前有用,现在不行了。我试图根据if/elif语句中的条件打印特定的行为。你知道吗
i = 0
while (i < len(startDate)):
j = 0
while (j < len(stopDate)):
if startDate[i] != stopDate[j]:
j += 1
elif startDate[i] == stopDate[j]:
if stopTime[j] < startTime[i]:
j += 1
elif stopTime[j] > startTime[i]:
if startBehavior[i] != stopBehavior[j]:
j += 1
elif startBehavior[i] == stopBehavior[j]:
print(startBehavior[i])
print(stopBehavior[j])
print('')
i += 1
任何帮助都将不胜感激!提前谢谢!你知道吗
如果运行下面的代码段,它将永远运行,即使i明显大于100。你知道吗
在
i == len(startDate) - 1
;startDate[i] == stopDate[j]
;stopTime[j] > startTime[i]
;和startBehavior[i] == stopBehavior[j]
的情况下,您的代码会增加i,这样i == len(startDate)
,然后,由于j < len(stopDate)
仍然是True
,您就不会退出第二个while循环。当您尝试访问startDate[i]
时,您将得到一个IndexError
。你知道吗这在某种程度上依赖于数据,因此它可能在以前工作过,但从未出现过此问题。你知道吗
相关问题 更多 >
编程相关推荐