I'm trying to write a function in Python that simulates a horse race. While there's no winner, it clears the screen, shows the list of horses (all have index starting at zero). Then, on the line I've marked, the code messes up.
I get the index error list out of range. I'm trying to randomly pick a horse (randomly pick an index number) and add 1 to the value. But I can't seem to figure it out!!
while (no_winner):
os.system("cls")
print(horses)
# randomly assign a horse to step forward
rando = random.randint(1, HORSE_NUM)
horses[rando] += 1 #######PROBLEM
# if the horse exceeds the finish line, he wins
if (steps > FINISH_LINE):
winner = horses[index]
no_winner = False
解决方案
random.randint() is inclusive, so if you get a random integer that is equal to HORSE_NUM it will be out of bounds. try
rando = random.randint(0, HORSE_NUM - 1)
最后
以上就是爱笑火最近收集整理的关于python index out of bounds,Python错误代码:IndexError:索引错误列表索引超出范围的全部内容,更多相关python内容请搜索靠谱客的其他文章。
发表评论 取消回复