Initiation À La Programmation en Python
Initiation À La Programmation en Python
Nom :
Prénom :
I-Conventions
Une commande Python sera écrite en caractère gras.
Exemples : print 'Bonjour'
max=input("Nombre maximum autorisé :")
Le résultat de l'exécution d'un programme sera précédé du symbole ↳ .
Exemple : print 'Bonjour'
↳ Bonjour
↳ ...... signifie qu'il faut compléter en recopiant ce qui apparaît sur l'écran.
1. Sortie
Pour permettre au programme en cours d'exécution d'afficher un texte ou un nombre on utilise la
commande print.
2. Entrées
Afin de pouvoir dialoguer avec un programme en cours d'exécution, il est parfois nécessaire de donner
une valeur (en utilisant le clavier) que demande le programme.
Attention : Le signe « = » n'est pas le signe égal au sens mathématiques. Il permet de donner une
valeur à une variable. On peut voir n=4 comme n←4.
3. Variables
Dans tout programme informatique, on utilise des lettres. Une lettre peut être égale à un nombre, un texte.
On les appelle les variables.
1
Exemple 1 : Le programme suivant demande à un utilisateur de rentrer une valeur et affiche en sortie le
carré de cette valeur.
n=input("Entrer un nombre : ")
p=n*n
print 'Le carré de ce nombre est :',p
n et p sont deux variables, la première est égale au nombre que choisit l'utilisateur. L'instruction p=n*n
affecte à la variable p le nombre n×n=n².
Exemple 2 : Le programme suivant demande à un utilisateur de rentrer son prénom et en retour lui dit
bonjour.
prenom=raw_input("Entrer votre prenom : ")
print 'Bonjour',prenom
prenom est une variable qui contient le prénom que choisit de rentrer l'utilisateur.
Attention : La division est une division entière. Le calcul 20/7 donne la partie entière du quotient 20 ÷ 7.
Pour obtenir une valeur approchée, l'un des deux nombres doit comporter une virgule : 20.0/7 ou 20/7.0 .
2
En résumé :
IV-Premiers programmes
Avec IDLE (ou avec un autre éditeur), ouvrez le fichier Moy3.py.
Le script est ci-dessous :
note1=input ("Entrer la première note : ")
note2=input ("Entrer la deuxième note : ")
note3=input ("Entrer la troisième note : ")
moy=(note1+note2+note3)/3.0
print 'La moyenne est :',moy
Essayez de comprendre ce que fait ce programme, puis exécutez le en appuyant sur la touche F5.
Exercices : Dans IDLE : File, New window puis enregistrez avec l'extension .py .
1 Écrire un programme qui demande la base b et la hauteur h d'un triangle, puis qui calcule et
affiche l'aire du triangle.
2 Écrire un programme permettant de calculer le volume d'un cylindre. Vous aurez besoin de ,
votre programme devra commencer par : from math import pi ( sera appelé pi dans le
programme).
3 Écrire un programme permettant de calculer la TVA (19,6 %) sur un prix HT (Hors Taxe)
donné et de calculer le prix TTC (Toutes Taxes Comprises). (PTTC=PVHT+TVA.)
4 Connaissant deux nombres a et b, écrire un programme qui rend leur quotient entier q et leur
reste r définis par a=bqr , avec r =0 ou r b (division euclidienne).
5 Écrire un programme qui demande trois nombres a, b et c et qui effectue une permutation
circulaire, donc rend c, a, b (la valeur de c doit être dans la variable a, la valeur de a dans la
variable b et la valeur b dans la variable c, la dernière ligne du programme est : print 'Les
nombres permutés sont :',a,b,c).
1. Commande range()
La commande range(n) retourne sous la forme d'une liste les n premiers entiers.
3
2. Instruction for ... in ...
La commande for ... in ... est une instruction itérative qui répète les mêmes instructions plusieurs fois.
Remarque 1 : Noter ci-dessus la différence d'affichage entre les deux premiers exemples, différence
provoquée par la virgule après n.
Remarque 2 : Le dernier exemple correspond à une erreur d'indentation : la commande print k, doit être
décalée afin d'être considérée comme faisant partie du bloc for ... in. Pour cela on utilise la touche de
tabulation.
Essayez de comprendre ce que fait ce programme, puis exécutez le en appuyant sur la touche F5.
Exercices : Dans IDLE : Files, New puis enregistrez avec l'extension .py .
7 Écrire un programme qui demande un nombre n, puis qui affiche tous les nombres pairs
inférieurs ou égaux à n.
VI-Test if
1. Instruction if(...):
La commande if (...): permet de tester le contenu d'une variable et exécute une série d'instructions si les
conditions sont remplies.
Remarque : Dans le deuxième exemple, raw_input renvoyant une chaîne de caractères, l'instruction
float() convertit cette chaîne en un nombre réel. On aurait pu écrire encore plus rapidement :
n=float(raw_input("Choisissez un nombre :")). On peut utiliser l'instruction int() pour les entiers.
Faire un essai avec un nombre positif, puis avec un nombre négatif et observer ce qui se passe.
4
2. Critère de divisibilité
Le résultat de l'opération a%b est le reste de la division euclidienne de a par b.
Exercices :
5
9 Écrire un programme qui demande deux nombres à l'utilisateur et l'informe ensuite si le produit
est négatif ou positif. Attention, on ne doit pas calculer ce produit.
10 Écrire un programme qui demande à un client le montant de ses derniers achats dans un
supermarché. En fonction de la somme dépensée, il l'informe de sa remise et la calcule :
Si la somme dépensée est inférieure à 50 €, il obtient 3 % de remise.
Si la somme dépensée est comprise entre 50 et 100 €, il obtient 5 % de remise.
Si la somme dépasse 100 €, il obtient 7% de remise.
11 Écrire un programme qui pose 5 questions notées sur deux et qui rend la note sur 10.
VII-Boucle While
Voici un exemple de programme utilisant la boucle while :
Exercices :
12 Écrire le programme suivant en utilisant une boucle while au lieu de la boucle for ... in :
for n in range(1001):
p=1000-n
if p%5==0:
print p,
13 Écrire un programme qui détermine la moyenne d'un ensemble de notes sans savoir au départ
combien il y aura de notes entrées. Le test d'arrêt peut être l'entrée d'un nombre négatif.
14 Écrire un programme qui demande un nombre compris entre 123 et 773, puis détermine si ce
nombre est un multiple de 9. Ce programme doit prévoir le cas où l'utilisateur ne respecte pas ce
qu'on lui demande.
6
15 Écrire un programme calculant le volume d'un cône de révolution à partir du rayon de la base
et de la hauteur. Ce programme doit prévoir le cas où l'utilisateur saisit des données absurdes
(rayon ou hauteur négative). Pour : from math import pi (voir exercice 2).
16 Écrire un programme dont le but est de faire deviner un nombre entier compris entre 0 et 100
choisi par l'ordinateur. À chaque essai, le programme devra rendre « Gagné ! » si le nombre a été
deviné, ou « Trop petit » ou « Trop grand » suivant la position du nombre proposé. On pourra
également donner le nombre d'essais.
Le programme commencera par : from random import randrange
alea=randrange(101)
La fonction randrange renvoie un nombre entier, randrange(101) renvoie un nombre entier
compris entre 0 et 100.
17 Le programme suivant permet d'afficher les dix premiers termes de la suite de Fibonacci. Il
s'agit d'une suite de nombre, dont chaque terme est égal à la somme des deux termes qui le
précèdent. Analyser ce programme et compléter le tableau d'états qui suit.
a,b,c=1,1,1
while c<11:
print b,
a,b,c=b,a+b,c+1
Tableau d'états
Variables a b c
Valeurs initiales 1 1 1
1 2 2
2 ... ...
... ... ...
... ... ...
Valeurs prises successivement, au cours des itérations ... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
Expression de remplacement b a+b c+1
VIII-Listes en Python
Une liste est une collection d'éléments séparés par des virgules, l'ensemble étant enfermé dans des
crochets.
1. Un exemple
Dans IDLE, taper : jour=['lundi', 'mardi', 'mercredi', 1800, 20.357, 'jeudi', 'vendredi']
print jour[0] print jour[2] print jour[4]
jour[3] = 'juillet'
print jour
↳ ..................................................................................................................
2. Fonctions intégrées
La fonction intégrée len( ) renvoie La fonction del( ) permet de supprimer un élément
le nombre d'éléments d'une liste : quelconque à partir de son indice :
len(jour) del(jour[4])
print jour
↳ ......... ↳ ......................................................................
3. Méthodes
On peut utiliser des méthodes de l'objet liste. Par exemple la méthode append(). Append signifie "ajouter"
en anglais :
jour.append('samedi')
print jour
↳ ......................................................................................
Une méthode est "appliquée" par un point. Il existe d'autres méthodes pour les listes. Entre autres : sort()
qui trie les éléments dans l'ordre croissant, reverse() qui inverse l'ordre des éléments de la liste, index()
qui retrouve l'indice d'un élément, remove() qui enlève un élément, etc.
jour.index('mardi') jour.remove('mercredi')
↳ ........... ↳ ....................................................................
4. Exercices
18 Soient les listes : t1=[31,28,31,30,31,30,31,31,30,31,30,31] et t2=['Janvier', 'Février', 'Mars',
'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre'].
Écrire un programme qui crée une nouvelle liste t3. Celle-ci devra contenir tous les éléments des
deux listes en les alternant, de telle manière que chaque nom de mois soit suivi du nombre de jours
correspondant : ['Janvier', 31, 'Février', 28, ...].
19 Écrire un programme qui affiche "proprement" tous les éléments d'une liste. Par exemple,
pour la liste t2, on devrait obtenir : Janvier Février Mars Avril ...