Python中的IndexError与Numpy数组

时间:2018-05-09 09:05:04

标签: python python-3.x numpy

我有以下代码一直给我一个IndexError,我根本看不出原因:

mainMenu = np.array(['Load new data', 
                 'Check for data errors', 
                 'Generate plots', 
                 'Display list of grades', 
                 'Quit'])

if choice == 2 or choice == 3 or choice == 4:
    print("Please load data before you {:s}".format(mainMenu[choice-1]))
    continue

最后一部分是错误:

IndexError: only integers, slices (`:`), ellipsis (`...`), numpy.newaxis (`None`) and integer or boolean arrays are valid indices

任何人都可以看到问题在这里吗?

1 个答案:

答案 0 :(得分:1)

您好,在定义choice变量时,它似乎不是整数。例如,它被声明为choice = 4.0而不是choice=4 我建议进行以下更改

 if choice == 2 or choice == 3 or choice == 4:
       print("Please load data before you {:s}".format(mainMenu[int(choice)-1]))
continue