Plus besoin de convertir des unités de tête ou avec un tableau. Ce programme vous fait le travail à votre place.
Ce projet est un programme réalisé avec python dans le but de convertir un nombre avec une unité de départ dans une unité finale. Il permet de convertir des volumes, des masses, des longueurs et des aires. Ce programme a été développé à l’aide d’omega et est téléchargeable sur la calculatrice Numworks grâce aux liens hypertextes en bas de cet article.
Sommaire
Explication de notre programme
• Tout d’abord nous avons dû assimilés les unités avec les puissances de 10 qui correspondaient.
expo0 = [10**-3, 10**-2, 10**-1, 10**0, 10**1, 10**2, 10**3, 10**-3, 10**0, 10**3, 10**6, 10**9] unit0 = ["mL", "cL", "dL", "L", "daL", "hL", "kL", "cm3", "dm3", "m3", "dam3", "hm3", "km3"] expo1 =[10**-3, 10**-2, 10**-1, 10**0, 10**1, 10**2, 10**3, 10**5, 10**6] unit1 =["mg", "cg", "dg", "g", "dag", "hg", "kg", "q", "t"] expo2 = [10**-9,10**-6,10**-3,10**-2,10**-1,10**0,10**1,10**2,10**3] unit2 = ["nm","micrometre","mm","cm","dm","m","dam","hm","km",] expo3 = [10**-6, 10**-4, 10**-2, 10**0, 10**2, 10**4, 10**6] unit3 = ["mm2", "cm2", "dm2", "m2", "dam2", "hm2", "km2"]
• On a également créer une petite fonction utile.
Une fonction utile
def clear(nb): print("\n"*nb)
Cette fonction permet de sauter le nombre de ligne que l’on veut en écrivant ce nombre entre les parenthèses.
Exemple
clear(2)
• Ensuite, nous avons créé les fonctions permettant de convertir les unités.
Fonction volume, masse, longueur et aire
def volume(): clear(6) print("Vous avez choisi les volumes.") clear(2) nbr = float(input("Quel nombre voulez vous\nconvertir : ")) clear(1) print("liste des unites : \n0 = mL\t1 = cL\t 2 = dL\n3 = L \t4 = daL\t5 = hL\n6 = kL\t7 = cm3\t8 = dm3\n9 = m3\t10 = dam3 11 = hm3\n12 = km3") clear(1) unit_d0 = int(input("Quel est l'unite de depart\nde votre nombre : ")) clear(0) unit_a0 = int(input("Quel est l'unite final\nde votre nombre : ")) convert0 = nbr * expo0[unit_d0] / expo0[unit_a0] clear(1) print("Le resultat est :\n%.3e"%convert0, unit0[unit_a0]) clear(0) go_menu = float(input("Entrez un nombre pour\nretourner au menu : ")) if go_menu == 1: return menu() else: return menu()
Explication de la fonction volume ci-dessus
Cette fonction nous demande dans un premier temps, quel nombre nous voulons convertir.
Et dans un second temps, l’unité de départ et l’unité finale du nombre.
Cette fonction nous affiche ensuite le résultat et nous demande d’écrire un nombre au hasard pour retourner au menu (que l’on verra plus tard dans cet article).
def masse(): clear(6) print("Vous avez choisi les masses.") clear(2) nbr = float(input("Quel nombre voulez vous\nconvertir : ")) clear(1) print("liste des unites : \n0 = mg\t1 = cg\t2 = dg\n3 = g 4 = dag 5 = hg\n6 = kg\t7 = q\t 8 = t") clear(1) unit_d1 = int(input("Quel est l'unite de depart\nde votre nombre : ")) clear(1) unit_a1 = int(input("Quel est l'unite final\nde votre nombre : ")) convert1 = nbr * expo1[unit_d1] / expo1[unit_a1] clear(1) print("Le resultat est :\n%.3e"%convert1, unit1[unit_a1]) clear(0) go_menu = float(input("Entrez un nombre pour\nretourner au menu : ")) if go_menu == 1: return menu() else: return menu()
La fonction masse ci-dessus
Cette fonction est la même que la fonction volume, mais elle ne convertit pas des volumes mais des masses.
def longueur(): clear(6) print("Vous avez choisi les longueurs.") clear(2) nbr = float(input("Quel nombre voulez vous\nconvertir : ")) clear(1) print("liste des unites : \n0 = nm\t1 = micrometre\n2 = mm\t3 = cm\t4 = dm\n5 = m 6 = dam 7 = hm\n8 = km") clear(1) unit_d2 = int(input("Quel est l'unite de depart\nde votre nombre : ")) clear(0) unit_a2 = int(input("Quel est l'unite final\nde votre nombre : ")) convert2 = nbr * expo2[unit_d2] / expo2[unit_a2] clear(1) print("Le resultat est :\n%.3e"%convert2, unit2[unit_a2]) clear(0) go_menu = float(input("Entrez un nombre pour\nretourner au menu : ")) if go_menu == 1: return menu() else: return menu()
La fonction longueur ci-dessus
Cette fonction est la même que la fonction volume et la fonction masse, mais elle ne convertit ni des volumes ni des masses, mais des longueurs.
def aire(): clear(6) print("Vous avez choisi l'aire.") clear(2) nbr = float(input("Quel nombre voulez vous\nconvertir : ")) clear(1) print("liste des unites : \n0 = mm2\t1 = cm2\t2 = dm2\n3 = m2 4 = dam2 5 = hm2\n6 = km2") clear(1) unit_d3 = int(input("Quel est l'unite de depart\nde votre nombre : ")) clear(1) unit_a3 = int(input("Quel est l'unite final\nde votre nombre : ")) convert3 = nbr * expo3[unit_d3] / expo3[unit_a3] clear(1) print("Le resultat est :\n%.3e"%convert3, unit3[unit_a3]) clear(0) go_menu = float(input("Entrez un nombre pour\nretourner au menu : ")) if go_menu == 1: return menu() else: return menu()
La fonction aire ci-dessus
Cette fonction est la même que la fonction volume, la fonction masse et la fonction longueur, mais elle ne convertit ni des volumes ni des masses ni des longueurs, mais des aires.
• Et pour finir nous avons créé une fonction menu.
def menu(): clear(3) print(" _______________") print(" | |") print(" | CONVERTISSEUR |") print(" | D'UNITE ! |") print(" |_______________|") print("\n1 - Le volume") print("2 - La masse") print("3 - La longueur") print("4 - L'aire\n") choix = int(input("Indiquer votre choix : " )) if choix == 1: volume() elif choix == 2: masse() elif choix == 3: longueur() elif choix == 4: aire() else: return menu()
Explication de la fonction menu ci-dessus
Cette fonction nous propose 4 choix qui sont le volume, la masse, la longueur et l’aire. Ces 4 choix sont respectivement associés aux chiffres 1, 2, 3 et 4 donc si on rentre le chiffre 1, le programme va exécuter la fonction volume. Et si on rentre un nombre différent de 1, 2, 3 et 4 la fonction exécutera encore le menu.
Conclusion
Plus besoin de convertir mentalement ou avec un tableau, ce programme vous fait le travail à votre place ! Vous pouvez le télécharger les liens ci-dessous.
Le programme
Serveur | Remarques | Liens hypertextes |
---|---|---|
Workshop de NumWorks | Permet un téléchargement rapide sur la calculatrice | convertisseur d’unité |
Cet article a été écrit par des élèves du lycée Louis Pasteur.
Ils étudiaient alors la spécialité NSI, en classe de 1ère.
Promotion 2020 – 2021