Participer au site avec un Tip
Rechercher
 

Améliorations / Corrections

Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.

Emplacement :

Description des améliorations :

Utilisation de dictionnaires (classe dict)

Je vous propose un petit exemple d'utilisation de la classe dict en Python. Cette classe permet de manipuler des dictionnaires Python : des tableaux associatifs permettant de mettre en relation une clé avec une valeur.

Dans l'exemple de code ci-dessous, le but du jeu et de retrouver le nombre de jours pour un mois donné (la notion d'année bissextile n'est pas gérée). Pour ce faire un premier dictionnaire python associe les noms des mois en anglais aux nombres de jours : ce dictionnaire est appelé months. Un second dictionnaire associe les noms de mois en français avec ceux exprimés en anglais : c'est le dictionnaire frTranslator. Le logiciel permet donc de retrouver le nombre de jours d'un mois considéré, quelque soit la langue utilisée (français ou anglais).

Exemple de code

 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 
#!/usr/bin/python3
# -*- coding : utf-8 -*-

# Un dictionnaire d'association nom de mois / jour
months = {
    "january": 31,
    "february": 28,
    "march": 31,
    "april": 30,
    "may": 31,
    "june": 30,
    "july": 31,
    "august": 31,
    "september": 30,
    "october": 31,
    "november": 30,
    "december": 31
}

# Un second dictionnaire d'association des noms de mois français / anglais
frTranslator = {
    "janvier": "january",
    "février": "february",
    "mars": "march",
    "avril": "april",
    "mai": "may",
    "juin": "june",
    "juillet": "july",
    "août": "august",
    "septembre": "september",
    "octobre": "october",
    "novembre": "november",
    "décembre": "december"
}

print("Month requester - V1.0 :-)")

while True:
    month_name = input("Please enter a month name: ").lower()
    if month_name == "exit":
        break
    if month_name in months:
        print(f"Month {month_name} contains {months[month_name]} days")
    elif month_name in frTranslator:
        month_name = frTranslator[month_name]
        print(f"Month {month_name} contains {months[month_name]} days")
    else:
        print("Unknown month", month_name)
    
    
print("Bye bye")
Exemple d'utilisation de dictionnaires Python

Et voici un exemple d'utilisation du programme ci-dessus.

$> ./months.py
Month requester - V1.0 :-)
Please enter a month name: january
Month january contains 31 days
Please enter a month name: février
Month february contains 28 days
Please enter a month name: truc
Unknown month truc
Please enter a month name: exit
Bye bye
$>