比赛计划

时间:2013-10-26 20:49:05

标签: python list tournament

我们需要创建一个程序来为项目设置第一轮锦标赛。如果参赛者数量不均,则需要在该计划中添加一个再见。这是我的代码:

from random import*
bye=[]
teams=[]
while True:
    team=str(input("Enter the team names.(-1 to exit):\n"))
    teams.append(team)
    if team=="-1": break

if (len(teams))%2!=0:
    teams.append("bye")
print("          Tournament         ")
print("------------------------------")

shuffle(teams)
for i in range(len(teams)):
    print(team[i], team[i+1])

错误?

1 个答案:

答案 0 :(得分:1)

您的错误出现在打印结果的方法中:

for i in range(len(teams)):
    print(team[i],team[i+1])

首先,你在print语句中有team而不是teams,这实际上是你存储用户输入的字符串,到你的时候应该是'-1'打印分数。您收到string index out of range错误,因为它试图将team字符串编入teams列表的长度,该列表可能大于2。

此外,您将遇到与teams[i+1]类似的问题,因为在最后一次迭代中,它将尝试访问超出数组长度的一个位置。您也将多次打印团队设置循环,但我会留给您解决。