conditions et les boucles
enfin nous arrivons dans le cœur de la programmation avec les structures conditionnelles et les boucles. en effet, c'est ici que nous allons apprendre à donner des instructions à faire à machine en fonction des situations ( données ) qu'elle fera face.
les conditions
Les conditions permettent de
commander les actions des ordinateurs. En programmation, la ligne précédente s’exécute
toujours avant la ligne suivante. Ce principe est très utile pour comprendre
l’exécution d’un code qui contient des conditions.
En python les conditions
permettent d’exécuter certains évènements si et seulement si la condition
demander est rempli. Ici nous utiliserons les opérateurs arithmétiques vus en
début d’ouvrage pour vérifier les équivalences :
« == » ou is : permet de tester l'égalité.
« != » ou is not : permet de tester l’inégalité.
« < » : strictement inférieur.
« <= » : inférieur ou égal.
« > » : strictement supérieur.
« >= » : supérieur ou égal.
Une condition est définie
comme suit :
condition:
première instruction du bloc
... ...
... ...
dernière instruction du bloc
Nous avons les mots clés
-if (si)
qui permet d’exécuter un évènement si la condition est remplie, il est
suffisant et peut être appelé seul.
-elif
(sinon si) : else if en java et JavaScript permet d’exécuter une
instruction si la condition précédente n’est pas rempli
-else
(autre) permet d’exécuter une instruction lorsque toutes les autres conditions
ne sont pas remplies
Exemple :
power=97
if
power==90:
print("itachi")
elif
power==127:
print("ozaki magetsu")
elif
power==27:
print("pain")
elif
power==17:
print("Madara")
else:
print('Neji')
exemple 2 :
num1=59
num2=58
if num1 is num2:
print(True)
elif num1
is not num2:
print(False)
peut aussi s’ecrire :
if num1
== num2:
print(True)
elif num1
!= num2:
print(False)
-if A in B
: permet d’exécuter une instruction si l’élément A se trouve dans
l’élément B. cette conditions est très utile lorsque l’on veut vérifier la
présence d’un élément dans une liste, un tuple ou une chaine de caractère
Exemple :
nom=["neji","naruto","itachi","sasuke","gaara"]
if "neji" in nom :
print(True, "neji est dans nom")
else:
print(False,"neji n'est pas dans nom")
-and et or : ces mots clés permettent d’associer les
conditions dans une ligne. Ceci est très pratique si l’on veut que l’exécution
d’une instruction dépende de plusieurs conditions.
and permet d’exécuter l’instruction si les deux conditions qui
l’entourent sont vrais tandis que or exécute
l’instruction si au moins l’une des conditions est vrai.
Exemple :
>>> nom='helene'
>>> age=28
>>> poids=60
>>> if age>30 and
poids<60:
print('première
condtion avec AND')
print(nom,'agé de',age,' a un
poids de',poids)
elif age>30
or poids<60:
print('deuxieme condtion avec OR')
print(nom,'agé de',age,' a un
poids de',poids)
l’on peut egalement utiliser les 2 comparateur
sur une même ligne de conditions.
>>> if age>30 or
poids<60 and nom=='helene':
print(nom,'agé de',age,' a un poids de',poids)
NB : lorsque vous déclarer une condition
n’oubliez jamais les 2 points : à la fin de
la ligne de la condition.
Les boucles
En programmation, on appelle boucle un système
d’instructions qui permet de répéter un certain nombre de fois (voire
indéfiniment) toute une série d’opérations. Python propose deux instructions
particulières pour construire des boucles : l’instruction for … in …, très puissante et l’instruction while .
While……………. : (tant que)
While permet d’exécuter une
instruction tant que la condition indiqué est valable contrairement à if qui
n’exécute qu’une seul fois l’instruction. Généralement, la boucle while a besoin d’un contrôleur qui lui permettre
d’exécuter l’instruction et de s’arrêter lorsque la condition devient fausse.
Il s’agit le plus souvent d’une variable qui
est incrémenté (i++) ou décrémenté (i--)
Exemple :
nom=["neji","naruto","itachi","sasuke","gaara"]
control=0
while
control<len(nom):
print(control,nom[control])
control=control+1
0 neji
1 naruto
2 itachi
3 sasuke
4 gaara
While peut aussi être utilisé sans contrôleur numérique,
cependant l’on associe alors le mot clé break pour arrêter la boucle
Example :
password='myPass'
keys=''
while password
!= keys:
keys=input('entrez
le mot de passe : ').strip()
if password == keys :
print('mot
de passe correcte')
break
else:
print('mot de passe
incorrecte')
nous reviendrons sur le fonctionnement de la
fonction input() un peu plus en avant.
4.2. for ……..
in ………. : (pour………… dans…………..) :
La boucle for A in B que nous allons utiliser le plus
souvent permet de parcourir les listes, les tuple et autres.
Elle permet d’exécuter une instruction tant que
A est contenu dans B. B est toujours une liste, un tuple ou une chaine de
caractères. A va alors prendre tour par tour les valeurs de la liste B.
Dans cette boucle, l’incrémentation est
inutile.
Exemple :
nom=["neji","naruto","itachi","sasuke","gaara"]
force=[97,91,99,75,50]
for i in range(len(nom)):
print(nom[i],"a une force de»,
force[i])
neji a une force de 97
naruto a une force de 91
itachi a une force de 99
sasuke a une force de 75
gaara a une force de 50
exemple 2 :
nom=["neji","naruto","itachi","sasuke","gaara"]
for elt in nom:
print(elt)
naruto
itachi
sasuke
gaara
exemple 3 :
nom=["neji","naruto","itachi","sasuke","gaara"]
for i in 9:
print(i)
Traceback
(most recent call last):
File "C:/Python37/assay.py", line
3, in <module>
for i in 9:
TypeError:
'int' object is not iterable
Vous remarquez que les entiers ne sont pas
itérables.
5. les Exceptions : les instructions try – except –
else et finally
Quand nous ecrivons un code en python, la
moindre erreur de syntaxe, ou d’execution entraine immédiatement l’arret du
code et une erreur du genre
Traceback (
most recent call last ):
4 File "<stdin >",
line 1, in <module > Est levé.
Pour donc éviter l’arrêt d’exécution de notre
code à la survenue de la première erreur, nous faisons alors appel aux
conditions try,except,else,finally
try :
Test d' instruction (s)
except TypeDInstruction :
Traitement en cas d'erreur
finally :
Instruction (s) exécutée(s) qu 'il y ait eu des
erreurs ou non
TypeDInstruction peut
etre : NameError, ZeroDivsionError,TypeError. Cependant ce paramètre n’est
pas obligatoire
Exemple :
numerateur, denominateur=25, "15 "
try :
resultat = numerateur /
denominateur
except NameError :
print ("La
variable numérateur ou dénominateur n'a pas été définie.")
except TypeError
:
print ("La variable numerateur ou dénominateur possède un type
incompatible avec la division.")
except ZeroDivisionError
:
print ("La
variable denominateur est é gale à 0.")
else :
print ("Le
résultat obtenu est ", résultat)
finally :
print("neji maitrise le hakkesho kaiten" )
la plupart des développeurs se cotentent
seulement des bloc try et except. En effet, ils sont largement suffissant pour
écrire tous vos codes
exemple :
name,age='hyuga
neji',17
try:
print(name+'est agé de '+age)
except:
print(name,'est agé de ',age)
print('except')
les mots clé pass, assert et raise
le mot clé pass
permet de passer une instruction lorsqu’il n’y a pas d’instruction à exécuter à
la suite d’une condition
exemple :
if
"neji" in nom :
pass
le mot clé assert
permet quant à lui de faire un test. Vérifier si 2 variables ou 2 conditions sont
équivalentes
exemple :
nom=["neji","naruto","itachi","sasuke","gaara"]
assert nom[0]=="neji"
le mot clé raise permet
de lever une exception. Par exemple, si l’on veut que l’utilisateur entre son
âge et qu’il donne une valeur négative, l’on peut alors lever une exception
disant que l’âge ne peut être négatif
annee = input
()
try :
annee = int(
annee ) # On tente de convertir l'année
if annee <=0:
raise ValueError ("l'année
saisie est négative ou nulle ")
else :
print(annee)
except :
print ("La
valeur saisie est invalide (l'année est peut–être négative).")
Commentaires
Enregistrer un commentaire