Python: только целые числа, срезы (`:`), многоточие (`...`), numpy .newaxis (`None`) и целочисленные или логические массивы являются допустимыми индексами - PullRequest
0 голосов
/ 06 августа 2020

Я новичок ie Электротехническое образование и работаю над компьютерными алгоритмами для исследований, на каком-то этапе я застрял, не знаю, как преодолеть

введите описание изображения здесь

вывод

Я заменил [i] на [:], но

1 Ответ

0 голосов
/ 06 августа 2020

Вы пытаетесь проиндексировать массив по значению элемента. Внимательно посмотрите на свое выражение:

for i in a:

Здесь на каждой итерации l oop, i - это просто каждый элемент массива a, а не индекс. Это потому, что a - это iterable, то есть «объект, способный возвращать свои члены по одному за раз». См. здесь для определения и объяснения.

Следовательно, когда вы просите a[i], угадайте, что происходит? Первый элемент - 2.0, это число с плавающей запятой. Вы пытаетесь выполнить a[2.0], что запрещено во всех известных языках программирования. Как сообщается в сообщении об ошибке, числа с плавающей запятой не входят в число допустимых типов для индекса.

Вы должны просто выполнить if i < 1 et c., Чтобы ваши условия работали должным образом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...