Ressources Magic Makers

 

Site en maintenance

 
Nous sommes actuellement entrain de mettre à jour les ressources de ce site.
Pendant la mise à jour vous pouvez retrouver tous les nouveaux contenus sur le site
 

https://lp-magicmakers.fr/

 
 

Les conditions en Python

C'est quoi une condition ?

Les conditions vont nous permettre de n’exécuter certains blocs de code que si une condition est vraie. Par exemple, on peut afficher un code secret uniquement si le mot de passe a la bonne valeur !

On va devoir définir un bloc de code, comme pour les boucles ; on va donc utiliser la même structure, un « : » au début du bloc, et ensuite une indentation au début de chaque ligne. Par contre, on n’utilisera pas for mais if (en anglais, « si ») comme mot clé !

Les opérateurs de comparaisons généraux

Maintenant, il va falloir mettre quelque chose à la place de condition. On va donc utiliser des opérateurs de comparaisons : c’est une syntaxe spéciale qui va comparer deux variables (ou une variable et une valeur fixe), et renvoyer soit True, soit False : ils renvoient en fait des bool !

 

L’opérateur le plus utilisé est sans aucun doute ==, l’égalité :

    • Il marche pour tous les types de base (int, float, str)
    • Il teste si les deux variables ont la même valeur
age = 13
nom = "Glorf"
taille = 1.82
if age == 13:
    print("Bravo, tu peux t'inscrire en Teen 1 !")
if nom == "Xefi":
    print("Tu es le maître de l'IA, bravo !!")
if taille == 1.98:
    print("Tu es aussi grand que Michael Jordan !!")
>> "Bravo, tu peux t'inscrire en Teen 1 !"

On peut aussi utiliser !=, l’inégalité :

    • Il fonctionne de manière similaire à l’égalité, si ce n’est qu’il teste si deux variables ont une valeur différente !
age = 13
nom = "Glorf"
taille = 1.82
if age != 9:
    print("Tu ne peux pas t'inscrire en Mini 1 :(")
if nom != "Glorf":
    print("Tu n'es pas le maître de Minecraft, imposteur !")
if taille != 1.72:
    print("Tu ne fais pas la même taille que JUL, dommage !")
>> "Tu ne peux pas t'inscrire en Mini 1 :("
>> "Tu ne fais pas la même taille que JUL, dommage !"

Attention ! Il est important de comparer des variables (ou des valeurs) de même type ! On peut comparer une str et un int, mais cela sera toujours False, même si les deux ont « l’air » identique : « 1 » et 1 ne sont pas la même chose !

Les opérateurs de comparaisons numériques

 

Il existe d’autres opérateurs de comparaisons pour les comparaisons numériques : ils comparent aussi deux variables (ou une variable et une valeur), mais celles si doivent être de type int ou float (on peut comparer un int avec un float directement). Par contre, l’ordre est important !

Il en existe 2 :

    • plus petit que, ou < : renvoie vrai si la valeur de GAUCHE est STRICTEMENT PLUS PETITE que la valeur de DROITE
    • plus grand que, ou > : renvoie vrai si la valeur de GAUCHE est STRICTEMENT PLUS GRANDE que la valeur de DROITE
age = 13
if age < 10:
    print("Tu peux t'inscrire en Mini 1 !")
if age > 12:
    print("Tu peux t'inscrire en Teen 1 !")

>> "Tu peux t'inscrire en Teen 1 !"

Attention, ces deux opérateurs testent STRICTEMENT, c’est à dire que si les deux valeurs sont égales, ils renverront False !

 

Ces deux opérateurs existent aussi en version non strictes : ils renvoient aussi vrai si les deux valeurs sont égales :

      • plus petit ou égal, ou <= : renvoie vrai si la valeur de GAUCHE est PLUS PETITE OU ÉGALE que la valeur de DROITE
      • plus grand ou égal, ou >= : renvoie vrai si la valeur de GAUCHE est PLUS GRANDE OU ÉGALE que la valeur de DROITE
taille = 1.96
if taille < 1.72:
    print("Tu es plus petit que Jul !")
if taille >= 1.96:
    print("Tu es au moins aussi grand que Michael Jordan !")

>> "Tu es au moins aussi grand que Michael Jordan !"

Else & Elif

Else (sinon)

Souvent, on va avoir besoin d’exécuter du code si une condition est vraie, et un autre code si elle ne l’est pas, comme ceci :

motdepasse = "carotte"
if motdepasse == "antonin":
    print("Tu as débloqué le code secret !")
if motdepasse != "antonin":
    print("Sors de là, intrus !")
>> "Sors de là, intrus !"

C’est un peu long à écrire comme ça, et il y a beaucoup de redite (et en informatique, on n’aime pas se répéter, car c’est une grosse source de bugs, et ça prend du temps !). On va donc utiliser une construction différente, le else (en anglais : « sinon »), qu’on doit placer juste après notre bloc if. Le else exécutera le code dans le bloc adapté si la condition du if est fausse.

 

En pratique, notre code de mot de passe sera celui ci :

motdepasse = "carotte"
if motdepasse == "antonin":
    print("Tu as débloqué le code secret !")
else:
    print("Sors de là, intrus !")
>> "Sors de là, intrus !"

De plus ici le code dans le else sera exécuté si, et seulement si, le code du if ne s’est pas exécuté.

Elif (sinon si)

Parfois on peut avoir, envie de vérifier une seconde condition seulement si la première n’est pas vrai. On utilisera alors le elif comme ceci :

nombre = 3

if nombre < 4:

  nombre += 1

elif nombre == 4:

  print(‘mon nombre est 4’)

else:

  nombre -= 4

Remarque ici que le nombre est inférieur à 4, donc on l’augmente de 1.

Il est ensuite égal à 4, mais le print ne s’effectuera pas puisque cette condition n’est vérifiée que dans le cas où le premier if n’est pas vrai.

And, Or & Not

Combiner plusieurs opérateurs

Il peut arriver que l’on ai besoin de rassembler plusieurs opérateurs de comparaisons entre eux, le plus souvent avec les opérateurs numériques.

 

L’opérateur le plus fréquent est and :

    • Il permet d’utiliser deux conditions
    • Il renvoie True si les deux conditions sont vraies, sinon il renvoie False 
    • Il est souvent utilisé pour faire des plages de validité comme dans l’exemple
    • …ou encore pour vérifier que deux conditions sont respectées.
age = 14
if age >= 7 and age <= 15:
    print("Tu peux t'inscrire chez Magic Makers !")
else:
    print("Dommage, tu n'as pas le bon âge !")
>> "Tu peux t'inscrire chez Magic Makers !"

Il existe aussi l’opérateur or, similaire à and :

    • Il permet d’utiliser deux conditions
    • Il renvoie True si au moins une des deux conditions est vraie
    • Utilisé surtout si on veut avoir plusieurs valeurs possibles (par exemples plusieurs mots de passes secrets)
nom = "MagicAnim"
if nom == "MagicAnim" or nom == "SuperAnim":
    print("Bienvenue grand maître du Python !")
else:
    print("Bienvenue, es-tu prêt à apprendre les arcanes du Python ?")
>> "Bienvenue grand maître du Python !"

On peut combiner plusieurs or (ou plusieurs and) bien sûr :

if mode == "DEBUG" or nom == "SuperAnim" and motdepasse == "JaimeLeCode":

À noter que lorsque des and et des or sont utilisés dans une même condition, les and sont toujours évalués avant les or.

Not

Nous avons vu comment vérifier qu’une condition est vraie, mais parfois on peut avoir envie de vérifier qu’une condition n’est pas vraie, qu’elle soit strictement fausse.

 Dans ce cas la, nous allons utiliser l’opérateur not qui permet d’inverser un booléen.
 
variable = True
if not variable == True:
  print('vrai')
 
Ici, on voit que le print ne s’exécute pas : le résultat de la comparaison est False (faux), puisqu’on l’inverse avec not (on vérifie que la variable n’est PAS True).