-4

我们需要创建一个程序,为项目设置第一轮锦标赛。如果参赛者人数不均,则要求节目添加轮空。这是我的代码:

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])

错误?

4

1 回答 1

1

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

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

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

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

于 2013-10-26T21:48:15.570 回答