我们需要创建一个程序来为项目设置第一轮锦标赛。如果参赛者数量不均,则需要在该计划中添加一个再见。这是我的代码:
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])
错误?
答案 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]
类似的问题,因为在最后一次迭代中,它将尝试访问超出数组长度的一个位置。您也将多次打印团队设置循环,但我会留给您解决。