我正在尝试用Python编写一个模拟赛马的函数。虽然没有赢家,但它会清除屏幕,显示马匹列表(所有马匹的索引都从零开始)。然后,在我标记的行上,代码混乱了。 我得到索引错误列表超出范围。我试图随机选择一匹马(随机选择一个索引号)并将值加1。但我似乎无法弄明白!!
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
答案 0 :(得分:1)
random.randint()是包含的,所以如果你得到一个等于HORSE_NUM的随机整数,它将超出界限。尝试
rando = random.randint(0, HORSE_NUM - 1)