【发布时间】:2015-06-24 03:17:14
【问题描述】:
每当我运行程序时,它都会出现错误
Traceback (most recent call last):
File "C:\Users\mrosales\Downloads\Rock Paper Sissor Tornament.py", line 46, in <module>
Temp = ClassList[Random2]
IndexError: list index out of range
Traceback (most recent call last):
File "C:\Users\mrosales\Downloads\Rock Paper Sissor Tornament.py", line 60, in <module>
Temp = ClassList[Random2]
IndexError: list index out of range
我的代码是关于将字符串从一个列表移动到另一个列表以形成 Tornamnet 的设置游戏
import random
import time
Temp = (" ")
ClassList = ['Noah','Simone','Ji Ho','Thanh','Nathanial','Soo','Mickel','Tuan']
Match1 = [], Match2 = [], Match3 = [] ,Match4 = []
Random1 = random.randrange(0,len(ClassList))
Random2 = random.randrange(0,len(ClassList))
while Random1 == Random2:
Random1 = random.randrange(0,len(ClassList))
time.sleep(1)
Temp = ClassList[Random1]
Match1.append(Temp)
del ClassList[Random1]
Temp = ClassList[Random2]
del ClassList[Random2]
Match1.append(Temp)
print(Match1)
Random1 = random.randrange(0,len(ClassList))
Random2 = random.randrange(0,len(ClassList))
while Random1 == Random2:
Random1 = random.randrange(0,len(ClassList))
time.sleep(1)
Temp = ClassList[Random1]
Match2.append(Temp)
del ClassList[Random1]
Temp = ClassList[Random2]
del ClassList[Random2]
Match2.append(Temp)
print(Match2)
Random1 = random.randrange(0,len(ClassList))
Random2 = random.randrange(0,len(ClassList))
while Random1 == Random2:
Random1 = random.randrange(0,len(ClassList))
time.sleep(1)
Temp = ClassList[Random1]
Match3.append(Temp)
del ClassList[Random1]
Temp = ClassList[Random2]
del ClassList[Random2]
Match3.append(Temp)
print(Match3)
Random1 = random.randrange(0,len(ClassList))
Random2 = random.randrange(0,len(ClassList))
while Random1 == Random2:
Random1 = random.randrange(0,len(ClassList))
time.sleep(1)
Temp = ClassList[Random1]
Match4.append(Temp)
del ClassList[Random1]
Temp = ClassList[Random2]
del ClassList[Random2]
Match4.append(Temp)
print(Match4)
Random1 = random.randrange(0,len(ClassList))
Random2 = random.randrange(0,len(ClassList))
while Random1 == Random2:
Random1 = random.randrange(0,len(ClassList))
print ("The current match ups are...")
print (Temp)
time.sleep(1)
print (Match1, Match2, Match3, Match4)
任何人都可以发现我可能放置的错误,如果他们愿意,可以更正它吗?
【问题讨论】:
-
发布完整的回溯?哪一行导致错误?
-
您是否尝试过设置一些断点并逐步执行?您可能会找到问题所在。
-
@ZdaR 有点长的代码,如果我编辑我的帖子并输入完整的代码,它会填满一个屏幕页面......你确定吗?只要你确认,我不介意
-
它没有明显的停止点。如果我不得不猜测,发生的事情是类列表为空,而随机数仍然产生 0——然后尝试找到空列表的索引 0,然后 kablooie。 (只是猜测,我不完全确定尝试访问空列表的索引 0 会做什么)。如果我的猜测是正确的,那么将整个事情包装在一段时间内 len(classlist) != 0 块应该可以解决问题。 (编辑:没关系,这不起作用。嗯。)
-
@RedShift 你能解释一下什么是断点吗?最好有例子