Pour corriger ce problème nous devons importer la bibliothèque math en ajoutant la ligne de
commande from math import pi (importer seulement pi) ou from math import* (importer tout le
contenu de la bibliothèque math)
2. L'affichage en Python
Pour afficher un message, une variable ou le résultat d'une expression nous utiliserons la fonction
print (argument1, argument2, …)
Affichage simple :
M o e z B e l ha j / L y c é e Ib n R a c hi k - E z z a hr a / N o v e m b r e 2 0 21 1
L ' e sse nt i e l d u l a ng a g e P y t ho n p o u r l e s é l è v e s d e l a se ct i o n S I e t se ct i o n s sc i e nt i f i q ue s
Affichage formaté :
L'affichage formaté est un mécanisme permettant d'afficher des variables avec un certain format, par
exemple justifiées à gauche ou à droite, ou encore avec un certain nombre de décimales pour les réels
(float). Python utilise les f-strings (formatted string literals) pour mettre en place l'écriture formatée.
Le caractère f avant les guillemets va indiquer à Python qu'il s'agit d'une f-string permettant de mettre
en place le mécanisme de l'écriture formatée, contrairement à un affichage normal.
Dans une écriture f-string le message à afficher entre guillemets doit être précédé de f, les variables à
afficher dans le message doivent être mises entre accolades {}, on peut ajouter les détails du formatage
après le nom de la variable entre les accolades.
Exemples :
{nom}, {a}, {b} affichage normal des variables entre accolades
{nom:20} afficher la variable nom sur 20 positions avec un alignement à gauche
{a:5d} ou {a:5} afficher la variable a au format entier sur 5 positions ( 80)
{a:10f} afficher la variable a (sachant que la variable a contient un entier) au format réel
sur 10 positions (80.000000)
{a:10.3f} afficher la variable a (sachant que la variable a contient un entier) au format réel
sur 10 positions avec 3 chiffres après la virgule ( 80.000)
{b:10.2f} afficher la variable b au format réel sur 10 positions avec 2 chiffres après la
virgule ( 175.25)
NB : le f-string n'est pas le seul moyen pour le formatage de l'affichage, Python admet d'autres
techniques pour l'affichage formaté.
3. La saisie en Python
L'action de saisie en Python se fait grâce à la fonction input.
Syntaxe : nom_variable = input ("message")
Exemple :
x = input ("Saisir un nombre : ") permet d'afficher le message entre guillemets, saisir une
valeur au clavier puis l'affecter à la variable x. la valeur saisie est considérée par défaut au
format string (chaîne de caractères)
pour saisir un entier, il faut faire une conversion de type (appelée transtypage) en ajoutant la
fonction int () avant input a = int (input ("Saisir un nombre : "))
pour saisir un réel, il faut ajouter la fonction float () avant input, ce qui veut dire que la valeur
numérique entrée au clavier est convertit en une valeur de type réel
b = float ((input ("Saisir un nombre : "))
M o e z B e l ha j / L y c é e Ib n R a c hi k - E z z a hr a / N o v e m b r e 2 0 21 2
L ' e sse nt i e l d u l a ng a g e P y t ho n p o u r l e s é l è v e s d e l a se ct i o n S I e t se ct i o n s sc i e nt i f i q ue s
4. Les opérateurs
Nous ne donnerons ici que les opérateurs autorisés par le programme officiel.
En algorithme En python
+, -, *, /, div, mod +, -, *, /, //, %
non, et, ou not, and (ou bien &), or (ou bien |)
>, ≥, <, ≤, =, ≠ >, >=, <, <=, ==, !=
∈ (entier ou caractère) in
Exemple : Exemple :
si x ∈ ['A','Z'] alors if x in ['A','Z'] :
si x ∈ ['A'. .'Z'] alors if 'A' <= x <= 'Z' :
on peut aussi écrire (if x in range (ord ('A'), ord ('Z') + 1) : )
si n ∈ [10 . . 99] alors if 10<= n <=99 :
on peut aussi écrire (if n in range(10,100) : )
En algorithme En python
round(x)
Arrondi (x)
NB : round (x.50) donne l’entier pair le plus proche de x
RacineCarré (x) sqrt (x)
Ent (x) int (x)
Abs(x) abs(x)
Aléa (vi, vf) randint (vi, vf)
Chr(x) chr (x)
Ord(c) ord (c)
Long (ch) len (ch)
Pos (ch1, ch2) ch2.find (ch1)
Convch(x) str (x)
Estnum (ch) ch.isdecimal () ou ch.isdigit () ou ch.isnumeric ()
int (ch) pour la conversion en un entier
Valeur (ch)
float (ch) pour la conversion en un réel
NB : il faut faire attention aux caractères majuscules et minuscules en effet Python est sensible à la
casse, ce qui signifie que Abs n'est pas la fonction abs et que les variables TesT, test ou TEST sont
différentes.
M o e z B e l ha j / L y c é e Ib n R a c hi k - E z z a hr a / N o v e m b r e 2 0 21 3
L ' e sse nt i e l d u l a ng a g e P y t ho n p o u r l e s é l è v e s d e l a se ct i o n S I e t se ct i o n s sc i e nt i f i q ue s
6. Les structures de données (enregistrements, tableaux et matrices)
En algorithme En python
La structure enregistrement. La structure enregistrement est implémentée en
Exemple utilisant la structure dictionnaire.
Eleve = Enregistrement Exemple :
mat : chaine Eleve = {'mat' : str, 'np' : str, 'moy' :float}
np : chaine [30]
moy : réel e = {} déclare une variable de type dictionnaire vide
Fin
Les vecteurs (tableaux à une dimension) On doit importer la bibliothèque numpy
T = tableau de 30 entiers T= array ([int]*30)
T = tableau de 30 chaines T= array ([str]*30)
T = tableau de 30 Eleve T= array ([Eleve]*30) ou T= array ([{}]*30)
Un champ dans une variable enregistrement (dictionnaire) x est manipulé en Python comme suit :
Lors de la saisie : x ['champ'] = input ()
Exemple : e ['mat'] = input ("saisir le matricule de l'élève")
Lors de l'affichage : Print (x ['champ'])
Exemple : print ("le matricule de l'élève est ", e ['mat'])
Lors de l'affectation : x ['champ'] = valeur
Exemple : e ['mat'] = 'A125478'
Les tableaux et les matrices sont manipulées en Python de la même manière qu'en algorithmique
M o e z B e l ha j / L y c é e Ib n R a c hi k - E z z a hr a / N o v e m b r e 2 0 21 4
L ' e sse nt i e l d u l a ng a g e P y t ho n p o u r l e s é l è v e s d e l a se ct i o n S I e t se ct i o n s sc i e nt i f i q ue s
Structure généralisée :
if Condition 1 :
Traitement 1
elif Condition 2 :
Traitement 2
elif Condition 3 :
Traitement 3
elif ….. :
……………..
……………..
else :
Autre traitement
# Suite du programme sans indentation
M o e z B e l ha j / L y c é e Ib n R a c hi k - E z z a hr a / N o v e m b r e 2 0 21 5
L ' e sse nt i e l d u l a ng a g e P y t ho n p o u r l e s é l è v e s d e l a se ct i o n S I e t se ct i o n s sc i e nt i f i q ue s
Remarque :
1. Pour implémenter la boucle pour avec un compteur de type caractères, nous pourrons utiliser
la structure suivante : (Pour i de 'A' à 'Z' Faire)
for i in range (ord ('A'), ord ('Z') + 1) :
# Traitement
En algorithme En python
Ouvrir ("nom_fichier", Nom_Logique, "mode ") Nom_Logique= open ("nom_fichier", "mode ")
Mode : "rb " : Lecture Mode : "rb" : Lecture
"wb" : Ecriture (création) "wb" : Ecriture (création)
"ab" : Ajout "ab" : Ajout
Lire (Nom_Logique, Var) var= load (Nom_Logique)
Fermer(Nom_Logique) Nom_Logique.close ()
Parcourir un fichier binaire :
Fin=False
while Fin == False :
try :
Fin_fichier (Nom_Logique)
traitement
except :
Fin = True
NB : Si le fichier est ouvert en mode ajout ("ab") et qu'il n'existe pas physiquement, alors il sera créé
M o e z B e l ha j / L y c é e Ib n R a c hi k - E z z a hr a / N o v e m b r e 2 0 21 6
L ' e sse nt i e l d u l a ng a g e P y t ho n p o u r l e s é l è v e s d e l a se ct i o n S I e t se ct i o n s sc i e nt i f i q ue s
10. Les fichiers texte
En algorithme En python
Ouvrir ("nom_fichier", Nom_Logique, "mode ") Nom_Logique= open ("nom_fichier", "mode ")
Mode : "r " : Lecture Mode : "r" : Lecture
"w" : Ecriture (création) "w" : Ecriture (création)
"a" : Ajout "a" : Ajout
Lire (Nom_Logique, ch) Nom_Logique.read ()
M o e z B e l ha j / L y c é e Ib n R a c hi k - E z z a hr a / N o v e m b r e 2 0 21 7
L ' e sse nt i e l d u l a ng a g e P y t ho n p o u r l e s é l è v e s d e l a se ct i o n S I e t se ct i o n s sc i e nt i f i q ue s
12. Compléments
12.1 Variable globale, variable locale
Le même nom mais deux variables différentes :
a = 15 #variable globale
def plusUn():
a = 0 #variable locale (à la fonction)
a=a+1
print(a)
plusUn() #affiche 1
print(a) #affiche 15
M o e z B e l ha j / L y c é e Ib n R a c hi k - E z z a hr a / N o v e m b r e 2 0 21 8
L ' e sse nt i e l d u l a ng a g e P y t ho n p o u r l e s é l è v e s d e l a se ct i o n S I e t se ct i o n s sc i e nt i f i q ue s
M o e z B e l ha j / L y c é e Ib n R a c hi k - E z z a hr a / N o v e m b r e 2 0 21 9