0% ont trouvé ce document utile (0 vote)
75 vues15 pages

Rappels Python

Ce document présente un guide d'introduction au langage de programmation Python, couvrant des sujets tels que les types de données, les expressions logiques, les variables, et les instructions de contrôle. Il explique également comment démarrer avec Python, utiliser des environnements de développement, et effectuer des opérations de base. Des exemples de code illustrent les concepts abordés, facilitant la compréhension pour les étudiants en mathématiques et en sciences.

Transféré par

ferdaousse2004
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
75 vues15 pages

Rappels Python

Ce document présente un guide d'introduction au langage de programmation Python, couvrant des sujets tels que les types de données, les expressions logiques, les variables, et les instructions de contrôle. Il explique également comment démarrer avec Python, utiliser des environnements de développement, et effectuer des opérations de base. Des exemples de code illustrent les concepts abordés, facilitant la compréhension pour les étudiants en mathématiques et en sciences.

Transféré par

ferdaousse2004
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
Vous êtes sur la page 1/ 15

UNIVERSITE CADI AYYAD MAT-S4/PHY-S4, Printemps 2025

Faculté des Sciences Semlalia Marrakech Analyse Numérique


Département de Mathématiques Travaux Pratiques

Rappels Langage Python

1 Introduction
• Python est un langage de programmation libre multi-usage : outils système, développement
web, multimedia, calcul scientifique . . . etc.
• Python et tout son environnement scientifique pour PC est diffusé dans une distribution
nommée Anaconda, téléchargeable à partir de l’adresse web
https://www.anaconda.com/download/success.
• Choisir en bas de la page la plate-forme (Windows, Linux ou MacOs).
• Il y a plusieurs environnements pour le développement en python. on emploie au choix les
interfaces spyder ou idle. Un programme en python est appelé script.
• Il existe plusieurs applications pour coder en python sur smartphones android. On conseille
par exemple ,d’installer pydroid.

2 Démarrage
• Pour spyder sous Linux on tape la commande spyder en console. Sous Windows, on lance
directement du menu spyder.
• Pour idle sous Linux on tape la commande idle en console.
Sous Windows, on lance du menu Anaconda Prompt, qui charge une console, puis taper idle.
On conseille idle pour les ordinateurs à faibles ressources :
Cette fenêtre est le shell appelée aussi console de python. Il suffit de taper une instruction puis
d’appuyer sur la touche « Entrée » de votre clavier pour lancer son exécution.

3 Nombres, expressions numériques et chaînes


Dans python tous les calculs sont numériques. Les nombres sont
• soit des entiers comme 3, -12, . . .
• soit en virgule flottante : 1.53, -4.0, 2.7e-6, . . . en double précision. Remarquer pour saisir
en notation scientifique 10−9 , on fait 1e-9 (ou 1E-9)
• Les opérateurs arithmétiques usuels sont :

Notation Opération
+,- addition, soustraction
*,/ multiplication, division décimale
** puissance : a**b (ab )
//,% division euclidienne, reste de division euclidienne

1
• Une chaine est du texte encadré par des guillemets (“) ou des apostrophes (’).
Exemples "python est un langage", '24'
• convertir un nombre en chaine et inversement :
– str() : convertit un nombre en chaine. Par exemple str(61) convertit en chaine '61'
– int() ou float() : convertit une chaine en nombre entier ou flottant. Par exemple
float("-4.125") convertit en nombre 4.125

[1]: print(6+3-1/2+3**4) #print pour afficher

89.5
• Les priorités des opérateurs sont comme suit : ** prioritaire sur *,\ (même priorité),
prioritaire sur +,- (même priorité).

• On observe que tout ce qui est saisi après le caractère # sur la même ligne est un commentaire.

[2]: print((6+(3-1))/2+3**4)

85.0
quelques opérations sur les chaines :

[3]: print("hello"+' '+"world") #cancatenation


print(4*"world") #dupliquer une chaine

hello world
worldworldworldworld

[4]: ch="je programme en python"


print(ch[3:7]) #extraire une partie de chaine

prog

3.1 Expressions logiques


• Un objet booléen a deux valaurs True (Vrai) et False (Faux).
• Toute expression de valeur numérique non nulle est considérée comme vraie.
• Expressions booleenes : sont formées par

Opération Notation
Comparaison de valeurs ==,!=,<,<=,>,>=
Logique and,or,not()
Identité is, is not
Appartenance in, not in

2
[5]: 1<=2 and -4>5 # faux

[5]: False

[6]: not(1>5) # vraie

[6]: True

[7]: 'h' in "blabla"

[7]: False

4 Variables
Toute variable doit être initialisée ou affectée.

[8]: print(a) # erreur!! a non définie

---------------------------------------------------------------------------
NameError Traceback (most recent call last)
Cell In [8], line 1
----> 1 print(a) # erreur!! a non définie

NameError: name 'a' is not defined

[9]: a=3
b=a/2
print(a)
print(b)

3
1.5

5 Lire et Afficher
• Affichage simple
print(objet) # affiche objet

#Pour afficher plusiers objets séparés par des blancs:


print(objet1,objet2, ...)

[10]: x,y,=2,4.5 # affectation simultanée de variables


print(x,y)
z=x+y
print("La somme vaut : ",z)

3
2 4.5
La somme vaut : 6.5
• Affichage formaté
La fonction print accepte l’affchage de chaines formatées selon ce qu’on appele les f-string :
mélange de texte et de données formatées sous la forme :
f" ... texte {v1:code1} ...texte ... {v2:code2}..." (attention au f en-tête de la
chaine) où les données à formater sont codées sous forme {v:code }, v est une donnée ou
expression et code est le spécificateur de format qui formate la donnée v selon un formatage
désiré.
Remarque. si on ne met dans la chaine que le nom de la donnée sans le spécificateur code, le
formatage par défaut est affiché.

[11]: x=1/4-15/7

print(f"valeur de x= {x}") #decimal libre


print(f"valeur de x = {x:.4f}") #decimal 4 chiffres apres la virgule
print(f"valeur de x = {x:.5e}") #decimal notation scientifique

y=2**5.25
print(f"x= {x:.4f}, y= {y:.3E}")

valeur de x= -1.8928571428571428
valeur de x = -1.8929
valeur de x = -1.89286e+00
x= -1.8929, y= 3.805E+01
remarque. Par défaut, après exécution de print on passe à la ligne suivante. Comme dans langage
C, print supporte les caractères spéciaux : \n,\t, . . . aussi.

[12]: a,b,c=-1,0.5,"toto"
print(f"x= {a},\ty= {b:.5E}\n{c}")

x= -1, y= 5.00000E-01
toto
• Lecture du clavier : input(" ... ")

[13]: n=input("donner un nombre entier : ")


"""
affiche le message et affecte une chaine
saisie au clavier à la variable n
en tant que chaine
"""
print(n+3) # produit une erreur!

donner un nombre entier : 4

---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
Cell In [13], line 7

4
1 n=input("donner un nombre entier : ")
2 """
3 affiche le message et affecte une chaine
4 saisie au clavier à la variable n
5 en tant que chaine
6 """
----> 7 print(n+3) # produit une erreur!

TypeError: can only concatenate str (not "int") to str

Remarques : un texte encadré par triple guillemets est un commentaire en plusieurs lignes
Ce qu’on introduit au clavier après l’exécution de input(" ... ") est toujours une chaine.
Si on veut saisir et stocker en nombre, il faut convertir le résultat de la fonction input() à un type
numérique à l’aide des fonctions int() ou float().

[14]: #par exemple :


n=int(input("donner un nombre entier : "))
print(n+3)

donner un nombre entier : 4


7
Plus généralement eval(input(" ... ")) si on veut lire à partir du clavier plusieurs données en
une seule ligne ou même des objets plus composés comme les listes (voir plus loin) :

[15]: x,y=eval(input("saisir respectivement 2 nombres : "))


print(x)
print(y)
# on introduit 2 nombres au clavier séparés par une virgule affectés
# dans l'ordre à x et y

saisir respectivement 2 nombres : -4,7


-4
7

6 Listes
une liste est une collection d’objets dont la syntaxe est : [objet1,objet2, ...]

[16]: L=[3,-1,'bonjour',6]

• On accède à chaque élément par sa position.


• Les positions commencent toujours par 0
• La fonction len donne la taille de la liste

[17]: print(L[0])
print(L[2])
print(len(L)) # taille

5
3
bonjour
4
Quelques méthodes opérant sur les listes :

[18]: X=[3,5]
X.append(-8) # ajouter un élément
print(X)

[3, 5, -8]

[19]: X1=[5,'hello']
print(X+X1) #fusionner

[3, 5, -8, 5, 'hello']

[20]: ls=3*X1 #duplique une liste


print(ls)

[5, 'hello', 5, 'hello', 5, 'hello']

[21]: ls.count(5)

[21]: 3

[22]: ls2=[2,4,'f',12,-5,3,-4]
print(ls2[2:5]) #extraire une partie de la liste

['f', 12, -5]


Nous travaillons à partir de maintenant dans la fenêtre d’édition. Pour editer des
programmes python appelés scripts, on fait File->New File (ou Ctrl N). Une seconde fenêtre
s’ouvre dans la quelle on rédige du code. Les actions suivantes sont utiles :
• Pour effectuer des actions dans la fenêtre d’édition :
– Ouvrir un programme existant : File->Open Module (ou Ctrl M)
– Enregistrer un programme : File-> Save (ou Ctrl S) : doit avoir l’extension .py
– Executer un programme : menu Run -> Run Module (ou F5). Les résultats sont affichés
dans le shell.

6
Créer un programme TP0.py contenant les manipulations qui suivent.

7 Instructions de Contrôle
Une instruction de contrôle est formée par une en-tête et un bloc.
Chaque bloc a un niveau de profondeur ou indentation.
en-tete: #attention aux 2 points au bout
instruction 1
instruction 2
...
... #instructions indentees
# Fin bloc
autres_instructions
hors bloc alignes avec en-tete

7.1 Instructions alternatives


Les instructions alternatives ou branchements sont gérées par les mots if, else, elif
if condition_1:
bloc_1
elif condition_2:
bloc_2
elif condition_3
bloc_3
...
# ainsi de suite
else:
bloc

[23]: #Exemple :
x,y=eval(input("donner 2 nombres : "))
if x-y>0:
print("x est plus grand que y") # indentation
elif x==y: # aligne avec if
print(" x et y sont egaux")
else:
print("x est plus petit que y")

donner 2 nombres : -3,10


x est plus petit que y

7.2 Boucles
Python possède 2 types de boucles :

7
7.2.1 Boucle for : boucle bornée
La boucle for est adaptée pour parcourir n’importe quelle séquence (par ex. une liste ou une chaîne),
dans l’ordre où ils apparaissent dans la séquence.
for objet in sequence:
instruction 1
instruction 2
...

[24]: for x in [5,2.5,-7,[-1,3]]:


print(x)

5
2.5
-7
[-1, 3]
La fonction range : très utile pour les boucles for.
• range(debut,fin,pas) construit une séquence d’entiers entre debut et fin avec un avance-
ment pas. * la borne fin toujours exclue.
• pas peut être negatif.

[25]: for i in range(1,15,2):


print('i= ',i,'=> son carre = ',i**2)

i= 1 => son carre = 1


i= 3 => son carre = 9
i= 5 => son carre = 25
i= 7 => son carre = 49
i= 9 => son carre = 81
i= 11 => son carre = 121
i= 13 => son carre = 169

[26]: for j in range(10,1,-1):


print('j= ',j,'=> son inverse = ',1/j)

j= 10 => son inverse = 0.1


j= 9 => son inverse = 0.1111111111111111
j= 8 => son inverse = 0.125
j= 7 => son inverse = 0.14285714285714285
j= 6 => son inverse = 0.16666666666666666
j= 5 => son inverse = 0.2
j= 4 => son inverse = 0.25
j= 3 => son inverse = 0.3333333333333333
j= 2 => son inverse = 0.5

8
7.2.2 Boucle while : boucle non bornée
La boucle while est une itération plus générale. Elle exécute un bloc tant que la condition de test
est réalisée.
while condition:
instruction 1
instruction 2
...

[27]: a=10
while a>0.1:
a=a/5
print(a)

2.0
0.4
0.08
instructions break et continue

[28]: for i in range(0,10,1):


if i==6:
break # interrompre la boucle
x=i+1
print(x)

1
2
3
4
5
6

[29]: i=0
while i<9:
i=i+1
if i==3:
continue
print(i)

1
2
4
5
6
7
8
9

9
7.3 Fonctions
• On peut définir de nouvelles fonctions à l’aide du modèle :
def nomFonction(arg1,arg2,...):
instruction1
instruction2
...
return(res1,res2,...) # return non obligatoire,
#obligatoire si la fonction renvoie des résultats.
# fin bloc
où arg1,arg2,. . . sont les arguments d’entrée de la fonction et res1,res2,. . . sont les résultats.
• On appelle une fonction par nomFonction(param1,param2,...), où param1,param2,... sont
les paramètres effectifs dans l’ordre de définition des arguments.
• Une fonction peut ne pas avoir d’argument, ou admettre tout type d’arguments : nombres,
chaines, listes, fonctions, . . .
• Elle peut retourner un résultat, plusieurs résultats, ou ne pas retourner de résultat,
• Elle peut retourner tout type de résultat.

[30]: def som(a,b):


s=a+b
return(s)

[31]: #appel de fonction

print("somme = ",som(7,3))

a,b=-0.5,3.25
c=som(a,b)
print("somme = ",c)

somme = 10
somme = 2.75
• Fonction à plusieurs résultats :

[32]: def somDiff(a,b):


s=a+b
d=a-b
return(s,d)

[33]: #appel
print(somDiff(3,5))

#ou bien
x,y=somDiff(3,5) #affecter resultats a deux variables
print("x= ",x,",y= ",y)

10
(8, -2)
x= 8 ,y= -2
• fonction en argument :

[34]: def MyFunc(x,fonc):


y=-1+fonc(x)
return(y)

[35]: def g(u):


return(u**3)

x=2
z=MyFunc(x,g)
print("resultat de MyFunc = ",z)

def h(t):
return(1/t)
print("Autre resultat de MyFunc = ",MyFunc(4,h))

resultat de MyFunc = 7
Autre resultat de MyFunc = -0.75
Fonctions mathématiques usuelles:
Pour pouvoir utiliser les mathématiques, il faut importer d’abord dans le script la bibliothèque
standard des mathématiques à l’aide de la ligne de code : from math import *.
La notation python de quelques constantes et fonctions mathématiques usuelles sont dans la table
qui suit :

pi constante π
e constante exp(1)
abs valeur absolue
exp exponentielle
log (log10) logarithme népérien (en base 10)
cos,sin,tan fonctions trigonométriques
acos,asin,atan fonctions trigonométriques inverses
cosh,sinh,tanh fonctions hyperboliques
acosh,asinh,atanh fonctions hyperboliques inverses
sqrt racine carrée
floor partie entière

[36]: from math import *


x=cos(pi)
print(x)

-1.0

11
8 Eléments de traçage graphique
Pour pouvoir tracer des objets scientifiques, les courbes mathématiques par exemple, il faut d’abord
charger une bibliothèque par la ligne de code :
from matplotlib.pyplot import * et utiliser les différentes fonctions qui produisent le dessin
scientifique.
Nous allons utiliser principalement la fonction plot pour tracer des courbes.
Le principe est de former deux listes X et Y de même taille : X va jouer le rôle des abscisses et
Y le rôle des ordonnées des points de la courbe. La fonction plot est évoquée sous la forme :
plot(X,Y, ... options ...).
Par exemple : pour tracer la courbe de la fonction cos sur I = [a, b], on construit la liste X constituée
de n+1 nombres x0 , x1 , · · · , xn equidistants dans I xk+1 −xk = h = (b−a)/n, h est un pas constant.
Soit xk = a + kh, k = 0, 1, · · · , n. On construit la liste Y constitituée des images des cos(xk ) et
utiliser plot.
Voici le code pour produire la courbe sur [−2π, 2π] :

[37]: from matplotlib.pyplot import *

[38]: # courbe cosinus sur [-2*pi,2*pi]


from math import *

n=400
h=4*pi/n

# former listes X et Y

X=[] # initialiser listes vides


Y=[]
for k in range(0,n+1): # pas 1 par default
xk=-2*pi+h*k
X.append(xk)
Y.append(cos(xk))

plot(X,Y) # tracer X en abscisses, Y en ordonnées

[38]: [<matplotlib.lines.Line2D at 0x7f5fa724e150>]

12
On peut superposer plusieurs courbes dans le même cadre :

[39]: n=400
h=4*pi/n

X=[]
Y=[]
Z=[]
for k in range(0,n+1):
xk=-2*pi+h*k
X.append(xk)
Y.append(cos(xk))
Z.append(sin(xk))

plot(X,Y,X,Z)

[39]: [<matplotlib.lines.Line2D at 0x7f5fa708c3d0>,


<matplotlib.lines.Line2D at 0x7f5fa709f650>]

13
avec des styles différents, une légende des labels pour les axes et un titre :

[40]: n=400
h=4*pi/n

X=[]
Y=[]
Z=[]
for k in range(0,n+1):
xk=-2*pi+h*k
X.append(xk)
Y.append(cos(xk))
Z.append(sin(xk))

plot(X,Y,'r--',X,Z,'g*')
title("Courbes") #un titre
xlabel("abscisses") # label pour les x
ylabel("ordonnees") # label pour les y
legend(["cos","sin"])

[40]: <matplotlib.legend.Legend at 0x7f6021688110>

14
15

Vous aimerez peut-être aussi