Подтвердить что ты не робот

Индексы фрагментов должны быть целыми или Нет или иметь метод __index__

Я пытаюсь что-то с Python. Я хочу нарезать список (плато) в нескольких списках (L [i]), но у меня есть следующее сообщение об ошибке:

  File "C:\Users\adescamp\Skycraper\skycraper.py", line 20, in <module>
    item = plateau[debut:fin]
TypeError: slice indices must be integers or None or have an __index__ method

Соответствующая строка совпадает с item = plateau[debut:fin]

from math import sqrt

plateau = [2, 3, 1, 4, 1, 4, 2, 3, 4, 1, 3, 2, 3, 2, 4, 1]

taille = sqrt(len(plateau))

# Division en lignes
L = []
i = 1
while i < taille:
    fin = i * taille
    debut = fin - taille
    item = plateau[debut:fin]
    L.append(item)
    i += 1
4b9b3361

Ответ 1

Значения debut и fin являются значениями с плавающей запятой, а не целыми числами, поскольку taille - это float.

Вместо этого сделайте эти значения целыми числами:

item = plateau[int(debut):int(fin)]

В качестве альтернативы сделайте taille целое число:

taille = int(sqrt(len(plateau)))