jffinfo

jffinfo

Python

Les affectations (en Python)

Les affectations simples


Le symbole d’affectation est le signe “=”.

Lors d’une affectation, Python crée à la fois la valeur et la variable qui pointe vers cette valeur.

Voici quelques exemples :

 
 
 
 
>>> a=2
>>> print(a)
2
>>> b=a
>>> print(b)
2
>>> a="une framboise"
>>> print(a)
une framboise
>>> print(b)
2
>>> a=2.
>>> print(a)
2.0
>>>
 

Dans cet exemple, a=2 crée le nombre entier 2 et la variable a pointant sur 2.

Ensuite, b=a crée une variable b qui pointe sur la valeur pointée actuellement par a, c’est-à-dire 2.

La commande a=”une framboise” crée une chaîne de caractère et fait pointer la variable a dessus.

On peut alors vérifier que la variable b est inchangée.

Enfin, a=2. crée cette fois-ci un flottant 2.0 et fait pointer a dessus.

Affectations simultanées


Voici quelques exemples :

 
 
 
 
>>> a,b=3,4
>>> print(a,b)
3 4
>>> a,b=b,a
>>> print(a,b)
4 3
>>>
 

La commande a,b=3,4 affecte simultanément la valeur 3 à a et la valeur 4 à b.

Dans une cas, on pourrait aussi bien remplacer cette instruction par a=3 et b=4.

Par contre l’instruction a,b=b,a est plus intéressante car elle permet de permuter les valeurs de a et b, ce qui ne peut se faire autrement qu’en utilisant une troisième variable.

 

 

Les entrées/sorties (en Python)

Les entrées


Dans un programme, il est très pratique de pouvoir demander à l’utilisateur de saisir une chaîne de caractères.

Pour cela, Python dispose d’une instruction : input(). L’instruction raw_input() n’existe plus depuis Python.

input()

Cette instruction va renvoyer une chaîne de caractères.

Ainsi, si l’utilisateur tape l’entier 25, le résultat initial est ’25’.

Si on veut convertir la chaîne de caractères en un entier, on pourra alors utiliser la fonction int().

Une manière moins précise consiste à laisser Python choisir le type avec la fonction eval().

* Des exemples d’utilisation

 
 
 
 
>>> mot1=input()
France
>>> print(mot1)
France
>>> mot2=input("Entrez un pays : ")
Entrez un pays : Japon
>>> print(mot2)
Japon
>>> nombre1=int(input("Entrez un nombre : "))
Entrez un nombre : 12
>>> nombre1+13
25
 

Les sorties


L’instruction principale est print qui permet d’afficher surtout des chaînes de caractères.

Cependant, comme pour l’instruction input(), si on lui demande d’afficher un entier, il va automatiquement convertir l’entier en chaîne de caractères pour pouvoir l’afficher.

Encore une fois, il est plus clair d’écrire cette conversion en utilisant l’instruction repr().

A noter que l’instruction print provoque un saut de ligne (comportement par défaut). Pour écrire une suite de chaînes de caractères, on pourra utiliser la concaténation de chaînes en utilisant l’opérateur “+”.

* Des exemples d’utilisation

 
 
 
 
>>> mot1="Romane"
>>> print(mot1)
Romane
>>> mot2="Lucie"
>>> print(mot2)
Lucie
>>> print(mot1 + " et "+ mot2)
Romane et Lucie
 

 

 

Les instructions conditionnelles (en Python)

Les schémas classiques


Il existe trois schémas possibles utilisant l’instruction if pour réaliser des tests.

* test simple : si alors

 
 
 
 
instruction normale
instruction normale
instruction normale
instruction normale
...
 
if condition :
instruction
instruction
instruction
...
 
instruction normale
instruction normale
instruction normale
...
 

* test : si alors autrement

 
 
 
 
instruction normale
instruction normale
instruction normale
instruction normale
...
 
if condition :
instruction
instruction
instruction
else :
instruction
instruction
instruction
...
 
instruction normale
instruction normale
instruction normale
...
 

* test : si alors sinon … autrement

 
 
 
 
instruction normale
instruction normale
instruction normale
instruction normale
...
 
if condition :
instruction
instruction
instruction
...
elif condition :
instruction
instruction
instruction
...
elif condition :
instruction
instruction
instruction
...
else :
instruction
instruction
instruction
...
 
instruction normale
instruction normale
instruction normale
...
 

Un exemple minimal


 
 
 
 
# -*- coding:utf-8 -*-
 
nombre=int(input("Rentrez un nombre :"))
 
if nombre ==33:
print("Vous êtes malade !")
 
print("Je déteste les médecins.")
 
input("Appuyer sur ENTER pour terminer le programme. ")
 

*l.1 à l.4 : ——- avant le test ——-

Un peu de travail pour l’utilisateur …

L’instruction input demande une chaîne de caractère.

L’instruction int convertit cette chaîne en un entier.

*l.5 à l.6 : ——- le test ——-

– *l.5
– Si la variable nombre est égale à 33, on effectue les instructions conditionnelles.
– Ne pas oublier le “:” en fin de ligne.
– *l.6 Voici l’instruction à faire.
– Pour différencier cette instruction de la suite du programme, on a tapé au début une tabulation (de plus), cette indentation (ce décalage) est indispensable.

*l.7 à l.11 : ——- après le test ——-

La fin de programme …

Des variantes


* test : si alors autrement

 
 
 
 
# -*- coding:utf-8 -*-
 
nombre=int(input("Rentrez un nombre :"))
 
if nombre ==33:
print("Bingo !")
else :
print("Perdu !")
 
 
print ("Je déteste les médecins.")
 
input("Appuyer sur ENTER pour terminer le programme. ")
 

* test : si alors sinon autrement

 
 
 
 
# -*- coding:utf-8 -*-
 
nombre=int(input("Rentrez un nombre :"))
 
if nombre < 33 :
print ("Un peu juste !")
elif nombre > 33 :
print ("Un peu fort !")
else :
print ("Bingo")
 
 
print( "Je déteste les médecins.")
 
input("Appuyer sur ENTER pour terminer le programme. ")
 
Les conditions

Le test fait intervenir une condition qui renvoie un booléen :
– True si la condition est respectée,
– False si la condition n’est pas respectée.

Voici le tableau des opérateurs de comparaison utilisables :

a == b a égal à b
a != b a différent de b
a < b a inférieur à b
a <= b a inférieur ou égal à b
a > b a supérieur à b
a >= b a supérieur ou égal à b

On peut aussi composer les conditions avec les opérateurs logiques :

condition1 and condition2 condition1 et condition2
condition1 or condition2 condition1 ou condition2

On peut aussi utiliser le mot-clé in qui va tester si un élément est dans une liste :

in liste1 a inclus dans liste1

Un exemple plus complet


 
 
 
 
# -*- coding:utf-8 -*-
 
nombre=int(input("Rentrez votre âge (nombre entier d'années) : "))
 
if nombre < 0 :
print("Négatif !")
elif nombre < 5 :
print("Bravo, vous savez déjà lire !")
elif nombre <= 17 :
print("Pas encore majeur !" )
else :
if nombre == 33 or nombre >= 100 :
print("En pleine forme !")
else :
print("Rien à signaler")
 
 
print("\n Merci d'avoir participer.")
 
input("Appuyer sur ENTER pour terminer le programme. ")
 

 

 

La boucle while (en Python)

Le schéma classique


Le but de la boucle while est de répéter certaines instructions tant qu’une condition est respectée.

On n’est pas donc obligé de savoir au départ le nombre de répétitions à faire.

 
 
 
 
instruction normale
instruction normale
instruction normale
...
 
while condition :
instruction de la boucle
instruction de la boucle
instruction de la boucle
...
 
instruction normale
instruction normale
instruction normale
...
 

Un exemple minimal


 
 
 
 
# -*- coding:utf-8 -*-
 
print("*** Avant la boucle ***")
 
entree="bidule"
 
while entree != "" :
print("------ dans la boucle ------")
entree=input("Taper un mot : ")
 
print("*** Après la boucle ***")
input("Appuyer sur ENTER pour terminer le programme. ")
 

*l.1 à l.6 : ——- avant la boucle ——–

– On trouve ici les instructions d’avant la boucle. Elles ne sont donc exécutées qu’une seule fois !
– *l.5 Cette étape est indispensable. On initialise la variable entree. Si vous oubliez cette étape, vous obtiendrez un message d’erreur à la ligne l.7, au moment où vous allez utiliser cette variable dans le test.
– Il faut aussi s’assurer que la valeur choisie vous fasse rentrer dans la boucle !
– Vous pouvez faire un test en remplaçant “bidule” par “machin”, puis par “”. Que se passe-t-il lors de l’exécution ?

*l.7 à l.9 : ——- la boucle ——-

– *l.7
– Tant que entree est différent de “”, on va effectuer les instructions de la boucle.
– entree!=”bidule” est ma condition qui renvoie un booléen (True ou False)
– Ne pas oublier le “:” en fin de ligne.
– *l.8 à l.9 Voici les instructions de la boucle qui seront exécutées à chaque fois que le test initial rendra comme résultat True.
– Pour différencier ces instructions de la suite du programme, on a tapé au début une tabulation (de plus), cette indentation (ce décalage) est indispensable.
– Chose importante : si on veut pouvoir sortir de la boucle while, il faut que la variable utilisée dans le test change de valeur ! C’est le cas à la ligne l.9. Sinon, on entre dans ce qu’on appelle une boucle sans fin …

*l.10 à l.12 : ——- après la boucle ——-

Le décalage est terminé : on revient au niveau d’avant la boucle. Le programme continue normalement.

L’instruction break


L’instruction break sert, non pas à interrompre le programme, mais à sortir de la boucle.

Essayez de comprendre ce que fait l’exemple précédent modifié :

 
 
 
 
# -*- coding:utf-8 -*-
 
print("*** Avant la boucle ***")
 
entree="bidule"
 
while entree != "":
print("------ dans la boucle ------")
entree=input("Taper un mot : ")
if entree=="ouistiti" :
print("J'ai vu un ouistiti !")
break
 
print("*** Après la boucle ***")
input("Appuyer sur ENTER pour terminer le programme. ")
 

Simulation d’une boucle for


Si l’on connaît le nombre de répétitions, on peut alors utiliser une boucle for. Mais on peut aussi bien le faire avec une boucle while.

Cet exemple vous rappelle quelque chose ?

 
 
 
 
# -*- coding:utf-8 -*-
 
nb_repetitions = 3
i = 1
 
while i <= nb_repetitions :
print("Et "+str(i)+"!")
i = i+1
print("Zéro!")
 
input("Appuyer sur ENTER pour terminer le programme. ")
 

 

La boucle for (en Python)

Le schéma classique


Le but de la boucle for est de répéter certaines instructions pour chaque élément d’une liste.

Contrairement à d’autres langages, l’usage d’une liste est donc nécessaire !

 
 
 
 
instruction normale
instruction normale
instruction normale
instruction normale
...
 
for variable in liste_valeurs :
instruction de la boucle
instruction de la boucle
instruction de la boucle
...
 
instruction normale
instruction normale
instruction normale
...
 

Un exemple minimal


 
 
 
 
# -*- coding:utf-8 -*-
 
print("Tous en choeur !!!")
 
for i in range(1,4) :
print("Et "+str(i)+"!")
 
 
 
print("Zéro!")
 
input("Appuyer sur ENTER pour terminer le programme. ")
 

*l.1 à l.4 : ——- avant la boucle ——-

Juste un petit message …

*l.5 à l.7 : ——- la boucle ——-

– *l.5
– Pour tous les éléments i de la liste, on va effectuer les instructions de la boucle.
– “range(1,4)” est une liste égale à “[1,2,3]”.
– Ne pas oublier le “:” en fin de ligne.
– *l.6 Voici l’instruction de la boucle.
– Pour différencier ces instructions de la suite du programme, on a tapé au début une tabulation (de plus), cette indentation (ce décalage) est indispensable.

*l.8 à l.12 : ——- après la boucle ——-

La fin de programme …

Comment créer une liste


Une page spécifique explique la création de listes. les exemples ci-dessous permettent de débuter.

Avec Python, on dispose de plusieurs moyens de créer une liste.

* On donne tous ces éléments

 
 
 
 
MesNombres=[4,5,7]
Pays=["Argentine","Bolivie","Chili","Danemark","Estonie","France"]
 

Le premier élément a le numéro 0 !!!!!!!!!!

Ainsi “NesNombres[0]” vaut 4 et “Pays[2]” vaut “Chili”.

* On utilise l’instruction range

 
 
 
 
Etages=list(range(11))
College=list(range(3,7))
 

range permet de créer rapidement une liste d’entier, sans devoir les écrire.

Attention, le dernier entier n’est pas pris dans la liste !!

“range(11)” équivaut à “[0,1,2,3,4,5,6,7,8,9,10]”.

“range(3,7)” équivaut à “[3,4,5,6]”.

* On utilise une chaîne de caractères

Les chaînes de caractères ont un comportement de listes. Elles sont donc utilisables dans une boucle for.

 
 
 
 
for lettre in "coucou" :
print(lettre)
 

 

 

 




0 Poster un commentaire