Académique Documents
Professionnel Documents
Culture Documents
(la suite)
L2 Chimie 2023/2024
Les Structures conditionnelles
Les structures conditionnelles vont nous permettre d’exécuter différents blocs
de code selon qu’une condition spécifique soit vérifiée ou pas.
Python nous fournit les structures conditionnelles suivantes :
• La condition if ("si") ;
• La condition if…else ("si…sinon" ) ;
• La condition if…elif…else ("si…sinon si… sinon") .
Exemple :
x=9
y=6
if x>y :
print("x contient une valeur strictement supérieure à y")
La structure conditionnelle ( if…else ) La structure conditionnelle
(if…else) (« si… sinon » ) est plus complète que la condition if puisqu’elle
nous permet d’exécuter un premier bloc de code si un test renvoie True ou
Un autre bloc de code dans le cas contraire.
Exemple
x, y = 5, 10
if x = = 5:
print("x contient l'entier 5")
else:
print("x ne contient pas 5")
if y = = 5:
print("y contient l'entier 5")
else:
print("y ne contient pas 5")
La condition if… elif… else
La condition if…elif…else (« si…sinon si…sinon ») est une structure
conditionnelle encore plus complète que la condition if…else qui nous
permet cette fois-ci d’effectuer autant de tests que l’on souhaite et ainsi de
prendre en compte le nombre de cas souhaités.
Exemple
x = 60
if x < 0:
print("x contient une valeur négative")
elif x< 10:
print("x contient une valeur comprise entre 0 et 10")
elif x < 90:
print("x contient une valeur comprise entre 10 et 90")
else :
Print("x supérieur à 90 ")
Instructions répétitives :
Boucle for
La boucle for Python va nous permettre d’itérer sur les éléments d’une
séquence (liste, chaine de caractères, etc.) selon leur ordre dans la séquence.
C’est-à-dire (permet de répéter un bloc d'instructions un certain nombre de
fois.)
Exemple :
liste = ["atome", 2, « USTHB", 100]
for i in liste:
print(i)
La boucle while
Exemple :
Un des avantages de la fonction Import numpy
>>> v = numpy.arange(4)
arange() est qu’elle permet de
>>> v
générer des objets arrayqui array([0, 1, 2, 3])
contiennent des entiers ou de réels >>> v + 1
selon l’argument qu’on lui passe. array([1, 2, 3, 4])
La différence fondamentale entre >>> v + 0.1
un objet array à une dimension et array([ 0.1, 1.1, 2.1, 3.1])
une liste (ou un tuple) est >>> v * 2
que celui-ci est considéré comme array([0, 2, 4, 6])
un vecteur. >>> v * v
array([0, 1, 4, 9])
Tableaux
Un tableau T est une structure de données qui permet de stocker des
éléments de manière ordonnée. Chaque élément x appartenant à T est
accessible par son indice (le numéro de la case de T dans laquelle est
stocké x).
Notion :
Pour créer des tableaux, nous allons utiliser numpy.array().
Exemple :
>>> import numpy as np
>>> u = np.arange(1, 16)
>>> u
array([ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15])
>>> np.shape(u)
(15,)
>>> u.shape = (3, 5)
>>> u
array([[ 1, 2, 3, 4, 5],
[ 6, 7, 8, 9, 10],
[11, 12, 13, 14, 15]])
>>> np.shape(u)
(3, 5)
>>> (3, 5)
Numpy propose un nouveau type de collection : numpy. Ndarray
- Ndarray = n-dimention array
- Représente un vecteur ou une matrice
- Propose un ensemble d’opération arithmétiques sur ces ensembles.
Pour obtenir une instance de la classe ndarray, il faut utiliser la fonction
array proposée par Numpy.
Exemple de définition d’un vecteur
>>> import numpy as np
>>> donnée = np.array([1, 2, 3, 4])
>>> type (donnée)
<class 'numpy.ndarray'>
>>> donnée
array([1, 2, 3, 4])
>>> donnée[1]
2
>>> donnée.shape
(4,)
Il est possible de produire un nouveau tableau numpy, à partir d’un autre,
en changeant son shape. Pour ce faire, on va utiliser la fonction
numpy.reshape(ligne, colonne) ou la méthode reshape.
Exemple :
data= np.array([1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1])
data2 = np.reshape(data, (4, 4))
data2
array([[1, 1, 1, 1],
[1, 0, 0, 1],
[1, 0, 0, 1],
[1, 1, 1, 1]])
data2.shape
(4, 4)
Module matplotlib
Le module matplotlib permet de générer des graphes interactifs depuis Python. Il est
l’outil complémentaire de numpy et scipy lorsqu’on veut faire de l’analyse de données.
Exemple 1:
La partie qui nous intéresse (la ligne # draw the plot) contient les parties
spécifiques à matplotlib.
– La fonction plot() va générer un graphique avec des lignes et prend
comme valeurs en abscisse (x) et en ordonnées (y) des vecteurs de type
array à une dimension.
– Les fonctions xlabel() et ylabel() sont utiles pour donner un nom aux
axes.
– title() permet de définir le titre du graphique.
– grid() affiche une grille en filligrane.
-show() affiche le graphe
L’exemple suivant montre la représentation en 3D
import numpy as np
import matplotlib.pyplot as plt
def fct(x, y):
return np.sin(x) + np.cos(x+y)
x = np.linspace(0, 5, 100)
y= np.linspace(0, 5, 100)
x, y =np.meshgrid(x, y)
z= fct(x, y)
plt.figure("coolwarm meshgrid")
axes = plt.axes(projection="3d")
axes.plot_surface(x, y, z,cmap = "coolwarm")
plt.show()