我在Python中使用while循环来执行一个操作。然而,当我期望它(当团队变空时)循环不会结束。这是代码:不明白为什么循环不停止
while teams:
if scores[0]<scores[1]:
losers.append(teams[0])
teams.remove(teams[0])
teams.remove(teams[0])
scores.remove(scores[0])
scores.remove(scores[0])
if scores[0]>scores[1]:
losers.append(teams[1])
teams.remove(teams[0])
teams.remove(teams[0])
scores.remove(scores[0])
scores.remove(scores[0])
return losers
虽然测试的代码,我把打印语句,发现失败者阵列具有所期望的结果,但循环将继续后,我希望它停下来,检查得分[0]当我已经删除循环的最后一个迭代的分数[0]。为什么我的循环没有结束?
也许有两个temas相等的分数? – ppperry
如果语句计算结果为true,那么等于分数将不会。你应该包括'if score [0] == scores [1]''的特例。你在调试吗?你真的检查过“分数”真的*是空的吗? – BHustus
这是比较NBA的比分,所以比赛连续加班,直到一支球队获胜。我在循环开始时打印队伍长度时注意到的一件事是,当队伍长度为12,6或0时,它不打印任何东西。(6的倍数)我弄不清楚为什么这是,但也许这可能有助于调试? –