刚开始学习python时,我试图根据用户的输入来打印不同的内容,但是,当我运行代码时,出现此错误:

    if cardNumberArray[0] == 4:
    IndexError: list index out of range

我不明白为什么当输入14-16个整数时,程序会说cardNumberArray [0]超出范围,并且为什么给定以下代码,我的程序甚至不会打印不同的值。
cardNumber = input("what is the number?\n")
cardNumberArray = []

for i in cardNumberArray:
  cardNumberArray.append(int(i))
  print(f"Ith value: {cardNumberArray[i]}")

if cardNumberArray[0] == 4:
    print("VISA")
elif cardNumberArray[0] == 5:
  if cardNumberArray[1] == 1 or cardNumberArray[1] == 2 or cardNumberArray[1] == 3 or cardNumberArray[1] == 4 or cardNumberArray[1] == 4 or cardNumberArray[1] == 5:
    print("MASTERCARD")
elif cardNumberArray[0] == 3:
  if cardNumberArray[1] == 4 or cardNumberArray[1] == 7:
    print("AMEX")
else:
  print("INVALID")

最佳答案

您的数组为空,因为您将用户的响应放在cardNumber变量上。

在使用Ifs之前,必须检查数组是否不为空以及这些索引是否存在。

09-25 21:20