Type error: 'type' object isn't subscriptable

Willi -  
mamiemando Messages postés 33780 Date d'inscription   Statut Modérateur Dernière intervention   -

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 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 

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 33780 Date d'inscription   Statut Modérateur Dernière intervention   7 884
 

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