锦标赛项目

2024-04-19 11:19:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我们需要创建一个程序,为一个项目建立一个锦标赛的第一轮。如果参赛人数参差不齐,节目就要加上拜拜。这是我的代码:

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

错误?在


Tags: 项目代码from程序lenif节目team
1条回答
网友
1楼 · 发布于 2024-04-19 11:19:39

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

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]也会遇到类似的问题,因为在上一次迭代中,它将尝试访问超出数组长度的一个位置。你还需要多次打印团队如何设置循环,但我将留给你去解决。在

相关问题 更多 >