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
   | # -*- coding: cp1252 -*-
#Programme qui demande à l'utilisateur d'entrer des données ou de le consulter
 
def rempl():
    #Complète un dictionnaire contentant "nom" (comme clé),
    #"age" et "taille" (comme valeurs)".
    while 1:
        nom = raw_input('Entrez votre nom : ').capitalize()
        age = int(raw_input('Quel est votre âge? '))
        taille = float(raw_input('Quelle est votre taille (en m)? '))
        dico[nom] = (age, taille)    #"age" et "taille" forment un tuple
        rep=raw_input('\nPour encoder un autre utilisateur, appuyez sur "e", \n\
pour consulter les données, appuyez sur "c",\n pour quitter, appuyez sur "q" : ')
        if rep=='c':
            consult()
        if rep=='q':
            break        
 
def consult():
    #Consulte les données dans le dictionnaire;
    #il est demandé à l'utilisateur d'entrer un nom.
    nom = raw_input('Veuillez entrer le nom d\'une personne : ').capitalize()
    while 1:
        tupl = dico.get(nom,0)  #Extrait les variables "age" et "taille"
                                #en tant que tuple
        if tupl==0:     #Ce qui se passe si le nom n'a pas été trouvé
                        #dans le dictionnaire
            nom = raw_input('Nom introuvable. Veuillez entrer un autre nom ou \
appuyez sur <Entrée> pour quitter : ').capitalize()
            if nom=='':
                #print 'Endroit 1'   #Balise pour expliquer mon problème
                break   #Voici le "break" récalcitrant
        else:           #Ce qui se passe si le nom a été trouvé
            age = tupl[0]
            taille = tupl[1]
            print 'Nom: %s - Âge: %s ans - Taille: %s m.' % (nom,age,taille)
            ini()       
    #print 'Endroit 2'   #Balise pour expliquer mon problème
 
def ini():
    #Propose à l'utilsateur d'encoder des données,de les consulter ou de quitter
    #print 'Endroit 3'   #Balise pour expliquer mon problème
    while 1:
        #print 'Endroit 4'
        choix = raw_input('\nPour encoder des renseignements, appuez sur "e";\n\
Pour consulter des données, apuuyez sur "c";\n\
Pour quitter, appuyer n\'importe quelle autre touche : ')
        if choix=='e':
            rempl()
        elif choix=='c':
            consult()
        else:
            break
 
#Corps principal
dico={}     #Création d'un dictionnaire
ini() | 
Partager