Type error: 'type' object isn't subscriptable

Willi -  
mamiemando Messages postés 33228 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

  1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     

    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
    1. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 940
       

      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