包含IndexError消息的并行列表



我几乎完成了一个项目,如果没有"max = ring[0]"一行的IndexError,我似乎无法完成这一节。变量ring和player是常量变量,标记为player =[]和ring =[]。这是最新的Python 3版本。谢谢你!

def main():
player = []
ring = []
menu()
addNBA(player, ring)
rankNBA(player, ring)
# yes or no input request to continue updating ranking
def addNBA(player, ring):
choice = "y"
while choice.lower() != 'y' and choice.lower() != "n":
print("Invalid. Enter 'y' or 'n'.")
playerName = playerEntry()
player.append(playerName)
nbaRing = ringEntry()
ring.append(nbaRing)
choice = input("Do you want to continue updating the ranking? Enter 'y' or 'n'. ")
# sorts list of players and rings from lowest to highest amount of rings
def rankNBA(player, ring):
max = ring[0]
bestPlayer = player[0]
min = ring[0]
worsePlayer = player[0]
print(player)
for i in range(len(ring)):
print(ring[i])
if max < ring[i]:
max = ring[i]
bestPlayer = player[i]
if min > ring[i]:
min = ring[i]
worsePlayer = player[i]

我认为您想要的是忽略错误并运行代码。所以你应该使用try except语句:根据你的代码,把try放在你得到错误的地方:

def rankNBA(player, ring):
try:
max = ring[0]
except IndexError:
pass
bestPlayer = player[0]
min = ring[0]
worsePlayer = player[0]
print(player)
for i in range(len(ring)):
print(ring[i])
if max < ring[i]:
max = ring[i]
bestPlayer = player[i]
if min > ring[i]:
min = ring[i]
worsePlayer = player[i]

如果同样的错误再次出现在min = ring[0]或其他任何地方,只需使用try except。结论

我们使用try except语句只是为了告诉程序它应该忽略错误并继续前进。

我希望这能回答你的问题。

最新更新