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
debut
とfin
の値は、taille
がfloatであるため、整数ではなく浮動小数点値です。
代わりに、これらの値を整数にします。
item = plateau[int(debut):int(fin)]
または、taille
を整数にします。
taille = int(sqrt(len(plateau)))