刚开始学习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之前,必须检查数组是否不为空以及这些索引是否存在。