Projets
Ce projet a été réalisé par des élèves en spécialité NSI du Lycée Louis Pasteur. Ils sont également les auteurs de ce compte rendu. Pour en savoir plus : Les projets en spécialité NSI
Sommaire
- 1 Présentation du programme
- 2 Menu de sélection
- 3 Sous programme 1 : Convertir un nombre d’entités en mole
- 4 Sous programme 2 : Donner la composition finale d’une réaction
- 5 Sous programme 3 : Registre des significations des lettres et symboles avec leur unité
- 6 Bonus
- 7 Télécharger le programme
- 8 Articles similaires
Présentation du programme
Ce programme propose trois aides en physique-chimie :
1 – Convertir un nombre d’entités en mole
2 – Donner la composition finale d’une réaction
3 – Registre des significations des lettres et symboles avec leur unité

def menu():
print("\n--------MENU PRINCIPAL--------\n")
print("1 - Convertir un nombre \n d'entites en mole")
print("2 - Donner la composition \nfinale d'une reaction")
print("3 - Registre des significatons \ndes lettres et symboles avec \n leur unite")
choix=int(input("Choix =\t"))
print()
if choix==1:
f1()
elif choix==2:
f2()
elif choix==3:
f3()
else:
print("Choix non valide\n")
menu()
def f1():
n = int(input("Donner le nombre d'entites a\n convertir:\t "))
na = 6.02214076 * 10 ** 23
r = n / na
print("\n La quantite de matiere\n correspondante est\n %.3e"%r, "moles" )
input ()
menu ()
def compo_finale(a,b,c,d,nx,ny):
x=min(nx/a,ny/b)
return nx-a*x,ny-b*x,c*x,d*x
def f2():
A = int(input("Veuillez renseigner\n le coefficient A:\t"))
B = int(input("\nVeuillez renseigner\n le coefficient B:\t"))
C = int(input("\nVeuillez renseigner\n le coefficient C:\t"))
D = int(input("\nVeuillez renseigner\n le coefficient D:\t"))
n_x = int(input("\nVeuillez renseigner\n la quantite de matiere\n de A:\t"))
n_y = int(input("\nVeuillez renseigner\n la quantite de matiere\n de B:\t"))
nfA,nfB,nfC,nfD = compo_finale(A,B,C,D,n_x,n_y)
print("Il reste %.3e"%nfA, "\nmoles de A\n")
print("Il reste %.3e"%nfB, "\nmoles de B\n")
print("Il reste %.3e"%nfC, "\nmoles de C\n")
print("Il reste %.3e"%nfD, "\nmoles de D\n")
input()
menu()
def f3():
print ("m : masse de l'échantillon\n ou masse d'un corps (g)")
print ("\nM : masse molaire de\n l'echantillon (g.mol-1)")
print ("\nn : quantite de matiere (mol)")
print ("\nV : volume d un corps\n (L ou m3)")
print ("\nrho : masse volumique de la\n solution (g.L-1 ou kg.m-3)")
print ("\nd : densite (sans unite)")
print ("\nn : quantite de matiere (mol)")
print ("\nCM: concentration molaire\n (mol.L-1)")
print ("\nU : tension (V, volts)")
print ("\nI : intensite du courant\n (A, amperes)")
print ("\nR : resistance (Omega, ohms)")
print ("\nT : temperature en kelvin (K)")
input()
menu ()
menu()Les deux premiers sous-programmes calculent automatiquement vos résultats avec les données que vous aurez préalablement rentrées et le dernier sera juste là en tant qu’aide ou rappel.
Menu de sélection

def menu():
print("\n--------MENU PRINCIPAL--------\n")
print("1 - Convertir un nombre \n d'entites en mole")
print("2 - Donner la composition \nfinale d'une reaction")
print("3 - Registre des significatons \ndes lettres et symboles avec \n leur unite")
choix=int(input("Choix =\t"))
print()
if choix==1:
f1()
elif choix==2:
f2()
elif choix==3:
f3()
else:
print("Choix non valide\n")
menu()Le choix de l’aide se fait par un menu où il suffit de rentrer le nombre désiré (en l’occurrence 1, 2 ou 3). Si un autre nombre que ceux proposés est rentré, “Choix non valide” s’affichera et vous serez automatiquement redirigé vers le menu.
Sous programme 1 : Convertir un nombre d’entités en mole

def f1():
n = int(input("Donner le nombre d'entites a\n convertir:\t "))
na = 6.02214076 * 10 ** 23
r = n / na
print("\n La quantite de matiere\n correspondante est\n %.3e"%r, "moles" )
input ()
menu ()Ce programme sert comme son nom l’indique à obtenir une quantité d’atome en mole. Pour ce faire on demande simplement à l’utilisateur d’entrer un nombre d’atome que le programme divise par le nombre d’Avogadro.
Sous programme 2 : Donner la composition finale d’une réaction


def compo_finale(a,b,c,d,nx,ny):
x=min(nx/a,ny/b)
return nx-a*x,ny-b*x,c*x,d*x
def f2():
A = int(input("Veuillez renseigner\n le coefficient A:\t"))
B = int(input("\nVeuillez renseigner\n le coefficient B:\t"))
C = int(input("\nVeuillez renseigner\n le coefficient C:\t"))
D = int(input("\nVeuillez renseigner\n le coefficient D:\t"))
n_x = int(input("\nVeuillez renseigner\n la quantite de matiere\n de A:\t"))
n_y = int(input("\nVeuillez renseigner\n la quantite de matiere\n de B:\t"))
nfA,nfB,nfC,nfD = compo_finale(A,B,C,D,n_x,n_y)
print("Il reste %.3e"%nfA, "\nmoles de A\n")
print("Il reste %.3e"%nfB, "\nmoles de B\n")
print("Il reste %.3e"%nfC, "\nmoles de C\n")
print("Il reste %.3e"%nfD, "\nmoles de D\n")
input()
menu()Ce sous programme en renseignant les coefficients directeurs de A, B, C et D ainsi que la quantité de matière de A et B permet de calculer la composition finale d’une réaction.
Sous programme 3 : Registre des significations des lettres et symboles avec leur unité

def f3():
print ("m : masse de l'échantillon\n ou masse d'un corps (g)")
print ("\nM : masse molaire de\n l'echantillon (g.mol-1)")
print ("\nn : quantite de matiere (mol)")
print ("\nV : volume d un corps\n (L ou m3)")
print ("\nrho : masse volumique de la\n solution (g.L-1 ou kg.m-3)")
print ("\nd : densite (sans unite)")
print ("\nn : quantite de matiere (mol)")
print ("\nCM: concentration molaire\n (mol.L-1)")
print ("\nU : tension (V, volts)")
print ("\nI : intensite du courant\n (A, amperes)")
print ("\nR : resistance (Omega, ohms)")
print ("\nT : temperature en kelvin (K)")
input()
menu ()
menu()Le choix 3 est présent en tant qu’aide afin de savoir à quoi correspond chaque lettre ou symbole ainsi que l’unité qui l’accompagne.
Bonus
%.3e »%
Ce morceau de programme permet de présenter le résultat sous forme d’écriture scientifique avec trois chiffres après la virgule.
Télécharger le programme
Lien vers le script sur le Workshop Numworks : https://workshop.numworks.com/python/p3r50nne/pc1g
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