Type error: 'type' object isn't subscriptable

Fermé
Willi - Modifié le 27 févr. 2024 à 03:40
mamiemando Messages postés 33650 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 30 avril 2025 - 27 févr. 2024 à 03:44

Bonjour,

Pourriez-vous m'aider je suis sur calculatrice et je n'arrive pas à régler cette erreur voici mon script:

carte1 = [[0, 0, 0, 1, 2], [2, 1, 0, 0, 0]]
carte2 = [[3, 6, 3, 6, 2], [2, 1, 3, 0, 0]]
map = choice([carte1, carte2])

def maps():
    for j in range(5):
        for i in range(5):
            if map[j][i] == 0:
                fill_rect(i * 20, j * 20, 20, 20, (100, 20, 30))

maps()

Je suis sur calculatrice numworks avec le module Kandinsky

Merci :-)

1 réponse

yg_be Messages postés 23535 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 27 avril 2025 Ambassadeur 1 579
Modifié le 27 févr. 2024 à 03:45

bonjour,

d'où vient choice()?

chez moi, ceci fonctionne:

import random
import kandinsky

carte1 = [[0, 0, 0, 1, 2], [2, 1, 0, 0, 0]]
carte2 = [[3, 6, 3, 6, 2], [2, 1, 3, 0, 0]]

map = random.choice([carte1,carte2])

def maps():
    for j in range(2):
        for i in range(5):
            if map[j][i] == 0:
                kandinsky.fill_rect(i * 20, j * 20, 20, 20, (100, 20, 30))

maps()
0
mamiemando Messages postés 33650 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 30 avril 2025 7 846
27 févr. 2024 à 03:44

Ou :

from random import choice
from kandinsky import fill_rect

... ce qui permet de ne pas modifier le code initial.

Quoi qu'il en soit, vu que des import manquent, le code est vraisemblablement incomplet. De plus, dans le message initial, il serait intéressant d'avoir le message d'erreur complet (numéros de lignes inclus).

0