IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

message d'erreur dont je comprends pas la raison


Sujet :

Python

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2020
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2020
    Messages : 2
    Par défaut message d'erreur dont je comprends pas la raison
    Bonjour, tout d'abord, je tiens à préciser que je suis nouveau sur le forum et dans le monde de la programmation en plus, je suis pas aidé de nature, alors soyez indulgents, s'il vous plaît.

    Donc, pour introduire le contexte, je suis en première, spécialité NSI, j'ai commencé cette année. J'avais déjà quelque base à cause des cours de maths de l'an précédent, mais vraiment sans plus.
    Pendant les vacances de la Toussaint, nous avions un programme à réaliser. Étant donné que nous avions le champ libre, j'ai choisi de faire un mémory avec des images de chats.
    J'ai écrit une bonne partie du programme, mais là, je suis bloqué par une erreur qui me suit depuis mon cours de mardi. C'est pourquoi je viens demander de l'aide ici.

    Voici le programme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    from tkinter import *
    from random import *
     
    #Création des variables liées aux images et au quadrillage
     
    tailleimage=120
    ecart=10
    cote=tailleimage+ecart
     
    nblignes=4
    nbcolonnes=5
    nbimages=nblignes*nbcolonnes//2
     
    largeur=cote*nbcolonnes
    longueur=cote*nblignes
    x0=y0=cote//2
     
    cartes=['chat_casquette','chat_débile','chat_élastique','chat_étonné','chat_festif','chat_lgbt','chat_lunettes','chat_postit','chat_riche','chat_vampire']
     
    #Création du plateau
     
    def creer_plateau():
        L=[v % nbimages for v in range(2*nbimages)]   #Génération d'une liste d'entiers aléatoires dans une liste provisoire "L".
        shuffle(L)                                    #Mélange de la liste avec la fonction shuffle
        board=[]
        k=0
        for line in range(nblignes):                  #Placement ligne par ligne et colonne par colonne de la liste L mélangée dans le tableau board
            row=[]
            for col in range(nbcolonnes):
                row.append(L[k])
                k+=1
            board.append(row)
        return board
     
    #Placement des images
     
    def placement(zg,board,couverture,cartes,ids_couverture):
        for ligne in range (nblignes):                  #On parcourt la future grille par indice de ligne et de colonne et, en même temps, on accède à la même position dans board
            for colonne in range (nbcolonnes):          #Puis, on demande au canevas de dessiner d’abord la carte puis de le recouvrir avec l’image de couverture
                centre=(x0+colonne*cote,y0+ligne*cote)  #Pour dessiner la carte, il suffit de récupérer l’équivalent entier de cette carte dans board (ligne 60), puis d’accéder à la version PhotoImage correspondante (ligne 61)
                num_image=board[ligne][colonne]
                mon_image=cartes[num_image]
                zg.create_image(centre, image=mon_image)
                id_couverture=zg.create_image(centre,image=couverture)     #On récupère l’id de chacune des 20 images de couverture utilisées
                ids_couverture[ligne][colonne]=id_couverture
     
    #Identification de la carte avec un clic
     
    def clic(event):
        x=event.x
        y=event.y
        colonne=x//cote
        ligne=y//cote
        zg.delete(ids_couverture[ligne][colonne])
        i=board[ligne][colonne]
        print(cartes[i].upper())
     
    #Création de la fenêtre
     
    fenetre1=Tk()
    fenetre1.title('Mémory')
    zg=Canvas(fenetre1, width=largeur, height=longueur,bg='white')
    zg.pack()
    zg.bind("<Button>", clic)
     
    #Chargement des images
     
    couverture=PhotoImage(file="dos.gif")
    images=[PhotoImage(file="%s.gif" %nomfichier) for nomfichier in cartes]     #Création d'une liste qui convertit chaque image gif dans un format utilisable par Tkinter
    ids_couverture=[[None for j in range (nbcolonnes)] for i in range (nblignes)]
     
    board=creer_plateau()
    placement(zg,board,couverture,cartes,ids_couverture)
     
    fenetre1.mainloop()
    Voici le message d'erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Traceback (most recent call last):
      File "C:\Users\Matéo\Desktop\memory\cartes\memory v3.py", line 73, in <module>
        placement(zg,board,couverture,cartes,ids_couverture)
      File "C:\Users\Matéo\Desktop\memory\cartes\memory v3.py", line 43, in placement
        zg.create_image(centre, image=mon_image)
      File "D:\Logiciels\EduPython\App\lib\tkinter\__init__.py", line 2332, in create_image
        return self._create('image', args, kw)
      File "D:\Logiciels\EduPython\App\lib\tkinter\__init__.py", line 2323, in _create
        *(args + self._options(cnf, kw))))
    _tkinter.TclError: image "chat_riche" doesn't exist
    (Je tiens à préciser que j'ai vérifié :
    -l'orthographe de tous les gif que j'ai utilisé dans mon programme, et que rien ne semble anormal
    -que toutes les cartes étaient bien définies, ce qui est le cas dans la liste "cartes"

    De plus, les cartes sont stockées dans le même dossier que mon programme et le message d'erreur change à chaque fois de carte: elles sont toutes considérées comme non existantes.)


    Voici le dossier où est mon programme (les programmes bleutés sont des versions antérieures).

    Nom : Capture.PNG
Affichages : 72
Taille : 281,2 Ko

    Merci d'avance à ceux qui m'aideront !
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. Message d'erreur ! Je ne sais pas d'où il vient.
    Par pazze dans le forum Débuter
    Réponses: 5
    Dernier message: 15/02/2009, 23h18
  2. [MySQL] Message d'erreur ne s'affiche pas !
    Par CaLeDo dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 17/07/2007, 01h10
  3. Message d erreur qd je suis pas sur la bonne feuille
    Par johndeuf dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 07/12/2006, 22h58
  4. Erreur que je comprends pas
    Par makohsarah dans le forum Langage
    Réponses: 1
    Dernier message: 30/08/2006, 18h14
  5. Réponses: 2
    Dernier message: 29/05/2006, 12h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo