Vous êtes sur la page 1sur 52

Institut Préparatoire aux Etudes d’Ingénieurs de Sfax (IPEIS), Université de Sfax

Introduction à la programmation
Python

Matière : INFORMATIQUE
Sections : MP/PC/PT – 1ère Année

Fatma Ben Saïd


fatma.ben.said@ipeis.usf.tn
© 2020
2ème Séance à distance, Mercredi 11 Nov. 2020

 Rappel
 Chapitre 3 : Activités
 Chapitre 2 : Activités
 Autres Exercices

Cours
Activités 2
Introduction à la programmation Python
Rappel
On a utilisé Python en mode Interactif (Python shell), à la manière d’une
calculatrice.
Les instructions (ou commandes) sont ainsi, l’une après l’autre, entrées au
clavier, interprétées et suivies d’un résultat souvent
réutilisé par la suite.

Utilisant le mode script Python, on peut sauvegarder une séquence


d’instructions dans un fichier texte.
 On peut dès lors ouvrir ce script et l’exécuter, de façon automatisée,
comme si les instructions qu’il contient étaient à nouveau entrées au clavier
(chronologiquement de la première à la dernière ligne).

Cours
Activités 3
Introduction à la programmation Python
Entrée au clavier (la fonction input) Rappel

 L’expression input(message ) : affiche message à l’écran (sans passer à


la ligne), attend que l’utilisateur valide par “Entrée” une réponse au
clavier, et renvoie cette réponse sous forme de chaîne de caractères
même si l’utilisateur tape un entier.

>>> a = input("Entrez un nombre: ")# ici on place la réponse dans la variable a


Entrez un nombre: 200
>>> a
'200'
>>> a + 1
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: Can't convert 'int' object to str implicitly

Cours
Activités 4
Introduction à la programmation Python
Entrée au clavier (la fonction input) Rappel

 On peut bien sûr directement convertir la réponse reçue par


input en un type particulier (int et float notamment) :
>>> a = int(input("Entrez un nombre: "))
Entrez un nombre: 200
>>> a # ici la variable a contient bien un entier
200
>>> r1 = input("Entrez un nombre réel : ")
Entrez un nombre réel : 7.5
>>> type(r1)
<class 'str'>
>>> r2 = float(input("Entrez un autre réel : "))
Entrez un autre réel : 7.5
>>> type(r2)
<class 'float'>

Cours
Activités 5
Introduction à la programmation Python
Affichage à l’écran (la fonction print) Rappel

La fonction print() : permet d’afficher des informations à l’écran.


 Il s’agit le plus souvent de messages informatifs qui peuvent intervenir à
tout moment de l’exécution du script.
 On ne confondra pas avec l’instruction return dont le rôle est de renvoyer
le résultat d’une fonction (et qui met fin à l’exécution de celle-ci).

Vous pouvez utiliser la fonction print() sans paramètres pour juste passer à la ligne suivante:

>>> print()

Cours
Activités 6
Introduction à la programmation Python
Affichage à l’écran (la fonction print) Rappel

Exemples : utilisation de la fonction print


Utilisant la fonction print(‘message’), les chaînes de caractères sont
affichées sans leurs délimiteurs extérieurs (guillemets ou apostrophes).

>>> 'ceci est un message'


'ceci est un message'
>>> print('ceci est un message')
ceci est un message

Cours
Activités 7
Introduction à la programmation Python
Affichage à l’écran (la fonction print) Rappel

Exemples : utilisation de la fonction print

>>> a , b = 2, 5
>>> print (a , b)
2 5
>>> print("Somme: ", a+b)
Somme: 7
>>> print(a – b ,"est la différence ")
-3 est la différence
>>> print("le produit de", a, "par", b, "vaut : ", a*b)
le produit de 2 par 5 vaut 10

Cours
Activités 8
Introduction à la programmation Python
Affichage à l’écran (la fonction print) Rappel

Exemples : utilisation de la fonction print


>>> print('ceci est un message')
ceci est un message
>>> print("ceci est un message")
ceci est un message
>>> print("ceci un message \n avec retour à la ligne")
ceci un message
avec retour à la ligne
>>> print(""" Ceci est un message
sur plusieurs lignes
avec beaucoup d'espaces et des sauts de ligne""")
Ceci est un message
sur plusieurs lignes
avec beaucoup d'espaces et des sauts de ligne

Cours
Activités 9
Introduction à la programmation Python
Affichage à l’écran (la fonction print) Rappel
 Il est possible d’afficher successivement plusieurs objets sur une même ligne (ils sont alors séparés
par un espace, mais on peut préciser un autre séparateur avec l’option sep=).
 Un affichage par la fonction print() se termine par un passage à la ligne (mais on peut préciser un
autre mode de terminaison avec l’option end=).

>>> x=10; y=10; z=10


>>> print(x, y, z, sep=' ') sep désigne le caractère de
10 10 10
séparation
>>> print(x, y, z, sep=';')
10;10;10
>>> print(x, y, z, sep='\n')
10 end désigne le caractère de
10 marquage de fin
10
>>> print('x =',x,'y =',y, 'z =', z, sep= ' ' , end =';')
x = 10 y = 10 z = 10;
Cours
Activités 10
Introduction à la programmation Python
Chapitre 3 : Activités

Cours
Activités 11
Introduction à la programmation Python
Chapitre 3 - Activités
3.1 Écrire un programme qui invite l’utilisateur à entrer un nombre entier, puis qui affiche
le carré de ce nombre.

3.2 Écrire un programme qui invite l’utilisateur à entrer deux notes l’une après l’autre, puis
qui affiche la moyenne de ces deux notes.

3.3 Affectez les variables temps et distance par les valeurs 6.892 et 19.7. Calculez et
affichez la valeur de la vitesse.

3.4 Saisir un nom et un âge en utilisant l’instruction input(). Les affichez. Recommencez
l’exercice en transtypant les saisies effectuées avec l’instruction float(input()).

Cours
Activités 12
Introduction à la programmation Python
Activité 3.1

Écrire un programme qui invite l’utilisateur à


entrer un nombre entier, puis qui affiche le
carré de ce nombre.

>>>
n? 7
Le carré de 7 est 49

Cours
Activités 13
Introduction à la programmation Python
Activité 3.1

>>> n=int(input("n? ")); print("Le carré de",n, "est


", n**2)

n? 7
Le carré de 7 est 49

Cours
Activités 14
Introduction à la programmation Python
Activité 3.2

Écrire un programme qui invite l’utilisateur à


entrer deux notes l’une après l’autre, puis qui
affiche la moyenne de ces deux notes.

>>>
Note 1? 11
Note 2? 12
La moyenne de ces deux notes est 11.5

Cours
Activités 15
Introduction à la programmation Python
Activité 3.3

 Affectez les variables temps et distance par les valeurs


6.892 et 19.7.
 Calculez et affichez la valeur de la vitesse.

Cours
Activités 16
Introduction à la programmation Python
Activité 3.4

 Saisir un nom et un âge en utilisant l’instruction input().


 Les affichez.
 Recommencez l’exercice en transtypant les saisies effectuées
avec l’instruction float(input()).

Cours
Activités 17
Introduction à la programmation Python
Chapitre 2 : Activités

Cours
Activités 18
Introduction à la programmation Python
Chapitre 2 - Activités
2.1 Ecrire un algorithme qui permet de saisir un temps en secondes et de le convertir en
nombre d'heures, minutes et secondes.

2.2 Ecrire un algorithme qui permet de lire un entier dans une variable NB et de
déterminer sa parité.

2.3 Ecrire un algorithme qui permet de calculer la somme des entiers positifs pairs
inférieurs à dix avec deux méthodes.

2.4 En utilisant une boucle tant que, écrire un algorithme qui permet de saisir un
caractère alphabétique.

Cours
Activités 19
Introduction à la programmation Python
Activité 2.1

1. Ecrire un algorithme qui permet de saisir un temps en


secondes et de le convertir en nombre d'heures, minutes
et secondes.

2. Coder cet algorithme en Python

Cours
Activités 20
Introduction à la programmation Python
Activité 2.1
sachant que heure=3600s, minute=60s
Algorithme ConvertisseurDeSecondes
Variable
temps, heure, minute, seconde : entier
Début
Ecrire("Donner un temps en seconde : "), Lire(temps)
heure  temps div 3600
minute  (temps mod 3600 ) div 60
seconde  temps mod 60
Ecrire(heure, "heure (s),", minute, "minute(s) et ", seconde, " seconde(s).")
Fin

Cours
Activités 21
Introduction à la programmation Python
Activité 2.1
Code Python :
>>> print("Convertisseur de secondes")
Convertisseur de secondes

>>> t=input("Entrez un nombre entier de secondes: ")#saisissez le nombre de s


Entrez un nombre entier de secondes: 7000
>>> n=int(t)
>>> heure = n//3600
>>> minute = n%3600//60
>>> seconde = n%60
>>> print(n, "secondes =", heure, "heure (s),", minute,"minute(s) et ",seconde,"
seconde(s).")
7000 secondes = 1 heure (s), 56 minute(s) et 40 seconde(s).

Cours
Activités 22
Introduction à la programmation Python
Activité 2.1
Code Python :
>>> print("Convertisseur de secondes")
Convertisseur de secondes

>>> t=input("Entrez un nombre entier de secondes: ")#saisissez le nombre de s


Entrez un nombre entier de secondes: 7000

>>> n=int(t) >>> heure = n//3600


>>> heure = n//3600 >>> n %= 3600
>>> minute = n%3600//60 >>> minute = n//60 Autre
>>> seconde = n%60
>>> seconde = n%60 solution?

Cours
Activités 23
Introduction à la programmation Python
Activité 2.1
Code Python :
>>> print("Convertisseur de secondes")
Convertisseur de secondes
>>> temps=int(input("Entrez un nombre entier de secondes: "))
Entrez un nombre entier de secondes: 7000
>>> (heure,n) = divmod(temps,3600)
>>> (minute,seconde) = divmod(n,60)
>>> print(temps, "secondes =", heure, "heure (s),", minute,"minute(s) et
",seconde," seconde(s).")
7000 secondes = 1 heure (s), 56 minute(s) et 40 seconde(s).

Cours
Activités 24
Introduction à la programmation Python
Structure conditionnelle
Activité 2.2

1. Ecrire un algorithme qui permet de lire un entier dans


une variable NB et de déterminer sa parité.
2. Coder cet algorithme en Python

Cet exercice a pour but de vérifier les points techniques suivants:


 lire précisément un énoncé
 étude d’un algorithme usuel : la parité d’un entier
 la notion de variables et leur déclaration
 le choix d’une structure de contrôle conditionnel adaptée au problème

Cours
Activités 25
Introduction à la programmation Python
Activité 2.2

Il s’agit d’étudier la parité d’un nombre quelconque (pair ou impair).

Quand est ce on dit qu’un nombre est pair?


On dit qu’un nombre est pair si et seulement si
le reste de la division égale à zéro.

Variables ? Types variables ?


Objets Type/Nature Rôle
NB entier Nombre à saisir
parite chaîne de caractères La parité du nombre

Cours
Activités 26
Introduction à la programmation Python
Activité 2.2

Structure de contrôle conditionnel ?


si ………………… alors
Traitement 1
sinon
Traitement 2
fin si

Cours
Activités 27
Introduction à la programmation Python
Rappel :
L’importance fondamentale de l’indentation en Python
En python :
Dans un même bloc, deux instructions de même profondeur logique doivent
avoir strictement la même indentation.

 Avec une telle convention, il est inutile de marquer le début et la fin d’un bloc par des
éléments du langage (comme des accolades f et g, ou les mots réservés begin et end).
 La contre-partie est un respect scrupuleux des indentations, mais on est aidé en cela par
l’éditeur de IDLE, qui augmente automatiquement l’indentation après chaque instruction
d’en tête, et qui conserve cette indentation à l’intérieur du bloc courant.
 Pour sortir d’un bloc (donc diminuer l’indentation), un simple appui sur la touche
d’effacement arrière suffit.

Cours
Activités 28
Introduction à la programmation Python
Rappel :
L’importance fondamentale de l’indentation en Python
 Si la ligne d’en-tête d’une clause est au niveau
d’indentation n, le bloc qui la suit est donc au niveau
d’indentation n + 1 (la convention est d’utiliser quatre
caractères pour séparer les deux niveaux).
 On termine le bloc par un retour à l’indentation du
niveau n (c’est-à-dire celle de la ligne d’en-tête).
 Un bloc (au niveau n + 1 si sa ligne d’en-tête est au
niveau n) peut lui-même inclure des instructions
composées donc des successions de clauses
(chacune d’elles pouvant donner lieu à la création de
blocs qui sont alors au niveau n + 2).

Remarque : éviter d’utiliser des tabulations (plutôt


que des espaces) pour l’indentation des blocs !
Cours
Activités 29
Introduction à la programmation Python
Structures de contrôle Rappel

Structures conditionnelle

Algorithmique Python

Cours
Activités 30
Introduction à la programmation Python
Structures conditionnelle (suite) Rappel

Exemple En python :
note=int(input("Quelle est votre note? "))
if note>=10:
print("Vous avez la moyenne")
else:
print("Vous n'avez pas la moyenne")

Ce programme donne le résultat suivant:


>>>
Quelle est votre note? 16
Vous avez la moyenne

Cours
Activités 31
Introduction à la programmation Python
Structures répétitives Rappel

Algorithmique Python

Cours
Activités 32
Introduction à la programmation Python
Structures répétitives (suite) Rappel

Algorithmique Python

Cours
Activités 33
Introduction à la programmation Python
Structures répétitives (suite) Rappel

Exemple en Python : >>>


valeur de i avant la boucle 1
valeur de i dans la boucle 1
i=1 valeur de i dans la boucle 2
print("valeur de i avant la boucle",i) valeur de i dans la boucle 3
valeur de i dans la boucle 4
while i<=10: valeur de i dans la boucle 5
valeur de i dans la boucle 6
print("valeur de i dans la boucle",i) valeur de i dans la boucle 7
i=i+1 valeur de i dans la boucle 8
valeur de i dans la boucle 9
print("valeur de i après la boucle",i) valeur de i dans la boucle 10
valeur de i après la boucle 11

Cours
Activités 34
Introduction à la programmation Python
Structure conditionnelle
Activité 2.2

1. Ecrire un algorithme qui permet de lire un entier


dans une variable NB et de déterminer sa
parité.
2. Coder cet algorithme en Python

Cours
Activités 35
Introduction à la programmation Python
Structures répétitives
Activité 2.3

1. Ecrire un algorithme qui permet de


calculer la somme des entiers positifs
pairs inférieurs à dix.

2. Coder cet algorithme en Python


0 + 2 + 4 + 6 + 8 = 20

Cours
Activités 36
Introduction à la programmation Python
Structures répétitives
Activité 2.4

1. En utilisant une boucle tant que, écrire un


algorithme qui permet de saisir un
caractère alphabétique.
2. Coder cet algorithme en Python

Cours
Activités 37
Introduction à la programmation Python
Ruptures de séquences Rappel

Interrompre une boucle : Court-circuiter une boucle :


break continue
 break permet de sortir  continue permet de passer
immédiatement de la boucle immédiatement à l’itération
for ou while en cours suivante de la boucle for ou while
contenant l’instruction. en cours contenant l’instruction ;
 Cette instruction est très  Reprend à la ligne de l’en-tête de
pratique pour tester une la boucle
condition d’arrêt qui dépend
d’une valeur entrée.

Cours
Activités 38
Introduction à la programmation Python
Ruptures de séquences (suite) Rappel

Interrompre une boucle : break


Exemple1 en Python
for x in range(1,11):
if x==5:
break
print(x, end=' ')
print('\nBoucle interrompue pour x =', x)

1 2 3 4
Boucle interrompue pour x = 5

Cours
Activités 39
Introduction à la programmation Python
Ruptures de séquences (suite) Rappel

Interrompre une boucle : break


Exemple 2 en Python
somme=0
while True:
n=int(input("Entrez un nombre (0 pour arrêter): "))
if n==0:
break
somme=somme+n
print("La somme des nombres est",somme)
Entrez un nombre (0 pour arrêter): 5
Entrez un nombre (0 pour arrêter): 6
Entrez un nombre (0 pour arrêter): 0
La somme des nombres est 11
Cours
Activités 40
Introduction à la programmation Python
Ruptures de séquences (suite) Rappel

Court-circuiter une boucle : continue


Exemple1 en Python
for x in range(1,11):
if x == 5:
continue
print(x, end=' ')
la boucle a sauté la valeur 5
1 2 3 4 6 7 8 9 10

Cours
Activités 41
Introduction à la programmation Python
Ruptures de séquences (suite) Rappel

Court-circuiter une boucle : continue


Exemple 2 en Python
i=0
while i<=5:
i = i + 1
if i%3 == 0:
continue
else:
print(i)
1
2 la boucle a sauté la valeur 3
4
5
Cours
Activités 42
Introduction à la programmation Python
Autres Exercices

Cours
Activités 43
Introduction à la programmation Python
Exercice 1
Écrire un programme qui calcule puis affiche la somme des
entiers de 1 à n, n étant une valeur demandée à l’utilisateur
au début du programme.
Par exemple, pour n=5, le résultat est 15 (1 + 2 + 3 + 4 + 5).

>>>
n? 5
La somme des entiers de 1 à 5 est 15

Cours
Activités 44
Introduction à la programmation Python
Exercice 2
Écrire un programme qui calcule et affiche la factorielle de n,
avec n un entier demandé à l’utilisateur au début du
programme.

>>>
n? 5
La factorielle de 5 vaut 120

Cours
Activités 45
Introduction à la programmation Python
Exercice 3
Écrire un programme qui calcule puis affiche le produit des
nombres pairs compris entre 1 et n, avec n étant une variable
demandée à l’utilisateur.

>>>
n? 5
Produit des nombres pairs: 8

Cours
Activités 46
Introduction à la programmation Python
Exercice 4
1. Écrire un programme qui affiche un triangle de taille n avec
des étoiles.
Indication : on peut utiliser la multiplication d’un entier par une chaîne.

>>>
n? 3
*
**
***

Cours
Activités 47
Introduction à la programmation Python
Exercice 4 (suite)
2. Écrire un programme qui affiche un triangle inversé de taille
n avec des étoiles.
Indication : on peut utiliser la multiplication d’un entier par une chaîne.

>>>
n? 3
***
**
*

Cours
Activités 48
Introduction à la programmation Python
Exercice 5
Écrire un programme qui affiche m triangles de taille n, les uns
après les autres.
>>>
m? 2
n? 3
*
**
***
*
**
***

Cours
Activités 49
Introduction à la programmation Python
Exercice 6
Écrire un programme qui affiche un damier carré de taille n.

>>>
n? 5
.#.#.
#.#.#
.#.#.
#.#.#
.#.#.

Cours
Activités 50
Introduction à la programmation Python
Exercice 7

Écrire un programme permettant de résoudre


dans C l'équation : a*x2+bx+c=0

Cours
Activités 51
Introduction à la programmation Python
Fin Activités
Programmation
Python

Cours
Activités 52
Introduction à la programmation Python

Vous aimerez peut-être aussi