Calcul de quantité de matière et le tableau périodique des éléments en Python


Accueil > Projets > Calcul de quantité de matière et le tableau périodique des éléments en Python

Par Perot A., Perret S. en novembre 2019

Introduction

Le tableau périodique des éléments, également appelé tableau de Mendeleïev, classification périodique des éléments ou simplement tableau périodique, représente tous les éléments chimiques, associés à un numéro atomique.
La conception de ce tableau est généralement attribuée au chimiste russe Dmitri Ivanovitch Mendeleïev, qui, en 1869, construisit une table, différente de celle qu’on utilise aujourd’hui mais semblable dans son principe.
On peut également lire sur ce tableau les masses molaires des éléments.

Présentation du projet

Les calculs de quantité de matière étant au programme de seconde et qui sont utilisé régulièrement en travaux pratique de physique-chimie durant les différentes année de lycée. Nous avons souhaité grâce à ce programme vous rendre la tâche plus facile pour calculer simplement des quantités de matière.
Vous pouvez également faire des recherche dans le tableau par exemple en cherchant le symbole d’un élément grâce à son numéro atomique.

Pour ce programme, il était nécessaire de commencer par faire 2 listes. Une première avec tous les symboles atomiques, rangés dans le bon ordres pour que leur place dans la liste soit la même que leur numéro atomique, sachant que dans une liste la première valeur est attribué à 0, nous avons donc mis une valeur nul. Par exemple l’aluminium à le numéro atomique 13, c’est la 14ème valeur de la liste mais attribué au nombre 13 : Magique ! Puis nous avons fait une seconde liste avec exactement le même principe mais cette fois-ci avec les masses molaires des élément à la place des symboles. Grâce à cette organisation, la 14ème valeur de la seconde liste est attribué à la masse molaire de l’aluminium.

  1. # premiere liste pour les symboles des éléments
  2. symbole = ["", "H", "He", "Li","Be", "B", "C", "N", "O", "F", "Ne", "Na", "Mg", "Al",  "Si", "P", "S", "Cl", "Ar",
  3.            "K", "Ca", "Sc", "Ti", "V", "Cr", "Mn", "Fe", "Co", "Ni", "Cu", "Zn", "Ga", "Ge", "As", "Se", "Br", "Kr",
  4.            "Rb", "Sr", "Y", "Zr", "Nb", "Mo", "Tc", "Ru", "Rh", "Pd", "Ag", "Cd", "In", "Sn", "Sb", "Te", "I", "Xe",
  5.            "Cs", "Ba","La", "Ce", "Pr", "Nd", "Pm", "Sm", "Eu", "Gd", "Tb", "Dy", "Ho", "Er", "Tm", "Yb", "Lu",
  6.            "Hf", "Ta", "W", "Re", "Os", "Ir", "Pt", "Au", "Hg", "Tl", "Pb", "Bi", "Po", "At", "Rn",
  7.            "Fr", "Ra", "Ac", "Th", "Pa", "U", "Np", "Pu", "Am", "Cm", "Bk", "Cf", "Es", "Fm", "Md", "No", "Lr",
  8.            "Rf", "Db", "Sg", "Bh", "Hs", "Mt", "Ds", "Rg"]
  9.  
  10. # seconde liste pour les masse molaires
  11. masseMol = [0, 1, 4, 7, 9, 11, 12, 14, 16, 19, 20, 23, 24, 27, 28, 31, 32, 35, 40,
  12.             39, 40, 45, 48, 51, 52, 55, 56, 59, 59, 64, 65, 70, 73, 75, 79, 80, 84,
  13.             85, 88, 89, 91, 93, 96, 98, 101, 103, 106, 108, 112, 115, 119, 122, 128, 127, 131,
  14.             133, 137, 139, 140, 141, 144, 145, 150, 152, 157, 159, 162, 165, 167, 169, 173, 175,
  15.             178, 181, 184, 186, 190, 192, 195, 197, 201, 204, 207, 209, 209, 210, 222,
  16.             223, 226, 227, 232, 231, 238, 237, 244, 243, 247, 247, 251, 252, 257, 258, 259, 262,
  17.             267, 268, 271, 272, 277, 276, 281, 280]

Télécharger

Nous avons ensuite créé plusieurs petits programmes qui effectues les différentes tâches possibles comme : chercher un symbole dans la liste grâce à son numéro atomique, chercher une masse molaire d’un élément grâce à son symbole puis deux calculs pour chercher une quantité de matière avec soit le symbole de l’élément soit son numéro atomique.

  1. # définition de chaque fonction pour le menu
  2.  
  3. def fonction1() : #permet de trouver le symbole d'un élément grâce à son numéro atomique
  4.     numero = int(input("Entrez le numero atomique : "))
  5.     print("Le symbole de l'élément est", symbole[numero],".")
  6.  
  7. def fonction2() : #permet de calculer une quantité de matière grâce au numéro atomique
  8.     numero2 = int(input("Entrez le numero atomique : "))
  9.     masse = int(input("Entrez la masse en gramme : "))
  10.     mol = masse/masseMol[numero2]
  11.     print("Il y a", mol,"mol.")
  12.  
  13.  
  14. def fonction3() :  #permet de trouver une masse molaire grâce au symbole de l'élément
  15.     symb1 = input("Entrez le symbole de l'élément:")
  16.     i = 0  
  17.     while i < 113 :
  18.         if symbole[i] == symb1 :
  19.             print("La masse molaire est", masseMol[i],"g.mol-1.")
  20.             break
  21.         i = i + 1
  22.  
  23.  
  24. def fonction4() : #permet de calculer une quantité de matière grâce au symbole de l'élément
  25.     masse2 = float(input("Entrez la masse en gramme : "))
  26.     symb2 = input("Entrez le symbole de l'élément : ")
  27.     i = 0  
  28.     while i < 200 :
  29.         if symbole[i] == symb2 :
  30.             mol2 = masse2/masseMol[i]
  31.             print("Il y a", mol2,"mol.")
  32.             break
  33.         i = i + 1

Télécharger

Vous venez sans doute de vous rendre compte que chaque calculs est attribué à une fonction ? Et bien c’est pour le menu, ce menu propose 5 choix différent : 4 pour les différent calcules où recherche dans le tableau et 1 pour quitter le programme. Il vous suffit de de rentrer le numéro de votre choix pour que la fonction se « lance » et que vous puissiez profiter pleinement de ce programme.

  1. def menu() : #menu
  2.     print("Que souhaitez vous faire ?")
  3.     print("Faites bien attention aux majuscules pour les symboles !!!")
  4.     print("1. Trouver le symbole d'un éléments grâce à son nombre atomique")
  5.     print("2. Trouver une quantité de matière grâce au nombre atomique")
  6.     print("3. Trouver la masse molaire grâce au symbole de l'élément")
  7.     print("4. Trouver une quantité de matière grâce au symbole de l'élément")
  8.     print("9. Quitter le programme.")
  9.     choix = 0
  10.     while choix == 0 :
  11.         choix = int(input())
  12.     if choix == 1 :
  13.         fonction1()
  14.     elif choix == 2 :
  15.         fonction2()
  16.     elif choix == 3 :
  17.         fonction3()
  18.     elif choix == 4 :
  19.         fonction4()
  20.     elif choix == 9 :
  21.         print("Au revoir !")
  22.         exit
  23.     else :
  24.         menu()
  25.     if choix != 9 :
  26.         menu()
  27.        
  28. menu()

Télécharger

Petit +

Comme vous pouvez le voir sur le graphique ci-dessus, le nombre de ligne importe peu sur la qualité d’un programme. Au final, c’est celui qui aura réussi à simplifier le plus son programme avec le moins de lignes qui aura utilisé le plus d’astuces !
Vous pouvez d’ailleurs constater que nous avons modifié le code à plusieurs reprises (3 en réalité) dans le but de le rendre plus court.

Conclusion

Ce programme est simple d’utilisation et peut être utilisé par n’importe quel élève de seconde général ou bien des élève de première et terminale ayant pris spécialité physique-chimie.
Malgré la facilité d’utiliser ce programme il ne peut bien évidemment pas remplacer l’apprentissage des formules mais peut tout de même s’avérer utiles.

Je le veux !

Voici un dossier de téléchargement en .zip ci-joint.

Dossier de téléchargement (ZIP - 1.4 ko)
Dossier de téléchargement

Mots-clés