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).")


< les bases du langage

 librairies standard >

Commentaires

Posts les plus consultés de ce blog

Galerie de Réalisations Python 🖼️

une Calculatrice simple avec python🧮

Bienvenue sur notre site dédié à la programmation avec Python ! 🐍