Alors bonjours,
j'essaie de faire un programme pour réviser du vocabulaire a partir d'un dictionnaire de mot sous forme de liste (désolé pour ceux qui sont allergique c est de l allemand ^^). Mon problème c est que il me dit que mes variables (langue et nb_rep) de mes premières fonctions ne sont pas définies quand je veux les utiliser dans les fonctions d'après. Je pense que le problème vient que j ai pas trop compris comment bien utiliser les fonction. du coup si qqn a du temps pour m expliquer je suis preneur...
Code:#programme de flash-cards from random import randint # création d'un dictionnaire normalement plus tard a partir d un fichier CSV maliste = [ ['nah','proche'], ['wunderbar','magnifique'], ['grün','vert'], ['hoch','haut'], ['wenig','peu'], ['warm','chaud'] ] def choix_langue (): langue = int(input('En quelle langue devez vous donnez la traduction?\nFrancais(1)\nAllemand(2)')) if langue != 1 and langue != 2: choix_langue() return langue def choix_rep (): nb_rep = int(input('Commbien de mots devez vous réviser?')) if nb_rep > 10: nb_rep = choix_rep() return nb_rep def session (): for i in range(1):#(nb_rep): couple_mot = randint(0, len(maliste)-1) if langue == 1: mot_a_traduir = maliste[couple_mot][0] mot_demande = maliste[couple_mot][1] mot_entre = input('Quelle est la traduction de '+str(mot_a_traduir)+' ?') comparaison(mot_demande, mot_entre) def comparaision (mot_demande, mot_entre): espace = abs(len(mot_entre) - len(mot_demande)) mot_corrige = ' ' if len (mot_demande) < len(mot_entre): # ajoute des espace au mot le plus long pour qu il aient le meme nombre de caracteres (sinon il on pas la meme nombre de terme et ca plante pour la comparaison) for i in range(len(mot_entre)): mot_demande.append(' ') elif len (mot_demande) > len (mot_entre): for i in range(len(mot_demande)): mot_demande.append(' ') for i in range (len (mot_demande)): #compare les lettres une a une (le probleme cest que si il y a une lettre en plus ou en moins ca decale tout et tout le reste du mot est faux) if mot_demande[i] == mot_entre[i]: mot_corrige += mot_entre[i] else : mot_corrige += '-' print (mot_corrige) return mot_corrige choix_langue() choix_rep() session()
-----