python - 如果cardNumberArray [0] == 4 : IndexError: list index out of range

标签 python python-3.x for-loop if-statement compiler-errors

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

关于python - 如果cardNumberArray [0] == 4 : IndexError: list index out of range,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62164235/

相关文章:

python selenium 点击第n个元素

python - 先决条件的简单比较不起作用

javascript - 爬取时,文件下载路径为JavaScript

python - 为什么此函数会导致 ['h'、 '-'、 '-'、 '-'、 '-']?

python - 用于分隔 numpy 数组的字典键和值

python-3.x - 在 python 中保留所有字母和数字字符

python - 直接从 Python 3 模块导入函数

r - For循环日期不丢失日期格式

c#循环遍历枚举的所有字段,从字符串数组中赋值

python - Pandas 改进