0% ont trouvé ce document utile (0 vote)
21 vues54 pages

Conditions et Booléens en Python

Transféré par

nouvafamily
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
21 vues54 pages

Conditions et Booléens en Python

Transféré par

nouvafamily
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Python - Les conditions

La valeur booléenne
Convertir une valeur booléenne et non-booléenne
Les opérateurs d'égalité
Les opérateurs logiques booléens
Les opérateurs de comparaison
Quiz - Les opérations booléennes
Structure "if"
Structure if ... else
Structure if ... elif ... else
L'importance de l'indentation en Python
Structures conditonnelles imbriquées
Opérateur ternaire
Quiz - Les structures conditionnelles
Expressions booléennes
Analyse des résultats de capteurs et tests logiques
Calcul maximum de 4 chiffres aléatoires
Un mot de passe sécuritaire
FizzBuzz d'un nombre
Calculateur de chance de réussite
Code Snippets
Python - Les conditions
# On demande à l'utilisateur d'entrer la température actuelle
temperature = int(input("Quelle est la température actuelle (en degrés Celsius) ? "))

# Structure conditionnelle pour décider s'il faut porter un manteau


if temperature < 10:
print("Il fait froid ! Vous devriez porter un manteau.")
elif 10 <= temperature <= 20:
print("Il fait un peu frais, une veste légère suffira.")
else:
print("Il fait chaud ! Pas besoin de manteau aujourd'hui.")

La valeur booléenne
print(True)
print(False)

Convertir une valeur booléenne et non-booléenne


print(True + True) # 2
print(15 * False) # 0
print(15 * True) # 15

print(bool("Bonjour")) # True, car la chaine n'est pas vide


print(bool("False")) # True, car la chaine n'est pas vide
print(bool("")) # False, car la chaine est vide

print(bool(0)) # False, car 0 vaut False


print(bool(-1)) # True, car le nombre n'est pas 0

s = str(True)
print(type(s))
print("La valeur est " + s)

b = bool("Bonjour, monde!")
print(type(b))
print(b)

# Cause une erreur, car l'opération `+` n'est pas définie


# pour les chaînes et les booléens
# Défi: modifiez ce code pour le rendre valide
print("La valeur est " + False)

Les opérateurs d'égalité


print("--- ENTIERS ---")
print(4 == 2)
print(2 == 3)

print("--- DÉCIMAUX ---")


print(3.2300 == 3.23)
print(3.230 == 3.232)

print("--- BOOLÉENS ---")


print(True == True)
print(True == False)

print("--- CHAÎNES ---")


print("hello" == "hello")
print("hello" == "HELLO")

print("--- MÉLANGE ---")


print("12" == 12)
print("True" == True)
# Rappel: True vaut 1 et False vaut 0
print(True == 1)
print(False == 0)

print("--- ENTIERS ---")


print(2 != 2)
print(2 != 3)

print("--- DÉCIMAUX ---")


print(3.2300 != 3.23)
print(3.230 != 3.232)

print("--- BOOLÉENS ---")


print(True != True)
print(True != False)

print("--- CHAÎNES ---")


print("hello" != "hello")
print("hello" != "HELLO")
Code Snippets

print("--- Valeurs litérales ---")


x = 2
y = 2
print(x is y)
print(x is not y)

print("--- Listes différentes ---")


x = [1, 2, 3]
y = [1, 2, 3]
print(x is y) # Pas le même objet liste (emplacement mémoire différent), donc False
print(x is not y)

print("--- Listes identiques ---")


x = [1, 2, 3]
y = x
print(x is y) # Même objet liste (même emplacement mémoire), donc True
print(x is not y)

Les opérateurs logiques booléens


print(not False)
print(not True)

print(False and False)


print(False and True )
print(True and False)
print(True and True )

print(False or False)
print(False or True )
print(True or False)
print(True or True )

Les opérateurs de comparaison


print("--------- > ---------")
print(10 > 5) # True
print(5 > 10) # False

print(10 > -10) # True


print(-10 > 10) # False

print(101 > 100) # True


print(100 > 100) # False

print("--------- >= ---------")

print(10 >= 5) # True


print(5 >= 10) # False

print(10 >= -10) # True


print(-10 >= 10) # False

print(101 >= 100) # True


print(100 >= 100) # True

print("--------- < ---------")


print(10 < 5) # False
print(5 < 10) # True

print(10 < -10) # False


print(-10 < 10) # True

print(101 < 100) # False


print(100 < 100) # False

print("--------- <= ---------")

print(10 <= 5) # False


print(5 <= 10) # True

print(10 <= -10) # False


print(-10 <= 10) # True

print(101 <= 100) # False


print(100 <= 100) # True

print(2 < 21 and 21 < 32) # Vérifie que 21 est entre 2 et 32 exclu
print(2 < 21 < 32) # Cette expression donne le même résultat

print(2 < 21 > 4) # Vérifie que 21 est plus grand que 2 et 4


print(2 < 21 and 21> 4) # Cette expression donne le même résultat
Code Snippets

a_minuscule = "a" # Position 97


a_majuscule = "A" # Position 65

print(ord(a_minuscule)) # Affiche la position dans la table d'encodage


print(ord(a_majuscule)) # Affiche la position dans la table d'encodage

print("a" > "A")


print("A" > "a")

print("*" * 50)
print("7apple" >"a")
print("a" < "b")
print("7banane" < "b")
print("*" * 50)

# Avec plus que 1 caractère


print("bye" > "bonjour") # ord('b') == ord('b') -> ord('y') > ord('o') -> donc "bye" est plus grand

# Avec unicode
print("\U0001F601", "\U0001F600")
print("\U0001F601" > "\U0001F600")

nom1 = "Mégane"
nom2 = "Mélissa"
# True, car nom1 est avant nom2 en ordre alphabétique
print(nom1 < nom2)

Structure "if"
operation0

if <condition>:
operation1
operation2

operation3

age = int(input("Quel est ton âge"))

if age < 18:


print("Tu es mineur")

print("--- Fin du programme ---")

Structure if ... else


operation0

if <condition>:
operation1
else:
operation2

operation3

age = int(input("Quel est ton âge"))

if age < 18:


print("Tu es mineur")
else:
print("Tu es majeur")

print("--- Fin du programme ---")

age = int(input("Quel est ton âge"))

if age < 20:


print("Tu a moins de 20 ans")
else:
if age < 30:
print("Tu es dans la vingtaine!")
else:
if age < 40:
print("Tu es dans la trentaine!")
else:
print("Tu as 40 ans ou plus!")

print("--- Fin du programme ---")


Code Snippets

Structure if ... elif ... else


operation0

if <condition1>:
operation1
elif <condition2>:
operation2
elif <condition3>:
operation3
else:
operation4

operation5

age = int(input("Quel est ton âge"))

if age < 20:


print("Tu a moins de 20 ans")
else:
if age < 30:
print("Tu es dans la vingtaine!")
else:
if age < 40:
print("Tu es dans la trentaine!")
else:
print("Tu as 40 ans ou plus!")

print("--- Fin du programme ---")

age = int(input("Quel est ton âge"))

if age < 20:


print("Tu a moins de 20 ans")
elif age < 30:
print("Tu es dans la vingtaine!")
elif age < 40:
print("Tu es dans la trentaine!")
else:
print("Tu as 40 ans ou plus!")

print("--- Fin du programme ---")

L'importance de l'indentation en Python


if 2 == 2:
print("Opération à l'intérieur du if")
print("Opération encore à l'intérieur du if")
print("Opération à l'extérieur du if")

if 2 > 10:
print("2 > 10")
print("Ne s'exécute jamais")
elif 2 > 5:
print("2 > 5")
print("Ne s'exécute jamais")
else:
print("2 <= 5")
print("S'exécute toujours")

if 2 == 2:# Erreur manque une indentation


print("Opération à l'extérieur du if. Le if est donc vide, erreur de syntaxe")

if 2 == 2:
print("Ici")
print("Ici 2") # Erreur indentation en trop

Structures conditonnelles imbriquées


if <condition #1>
if <condition #11>:
if <condition #111>:
<bloc instructions #111>
Code Snippets

# Variables d'exemple
type_de_vehicule = "voiture"
couleur = "rouge"
marque = "Ferrari"

# Bloc conditionnel
if type_de_vehicule == "voiture":
if couleur == "rouge":
if marque == "Ferrari":
print("C'est une Ferrari rouge.")
else:
print("C'est une voiture rouge, mais pas une Ferrari.")
else:
print("C'est une voiture d'une autre couleur.")

elif type_de_vehicule == "moto":


if marque == "Harley-Davidson":
print("C'est une Harley-Davidson.")
else:
print("C'est une autre moto.")

print("Identification du véhicule terminée.")

Opérateur ternaire
a = int(input("Entrez le premier chiffre"))
b = int(input("Entrez le deuxième chiffre"))

if a > b:
minimum = b
else:
minimum = a

print("Le minimum est :", minimum)

a = int(input("Entrez le premier chiffre"))


b = int(input("Entrez le deuxième chiffre"))

minimum = b if a > b else a

print("Le minimum est :", minimum)

x = int(input("Entre un chiffre")) # On veut que x soit de max 100

x_borne = 100 if x > 100 else x # x borné à 100

print(x_borne)
Code Snippets

Analyse des résultats de capteurs et tests logiques


import math

# ------- 1. Données brutes de capteurs ------- #

# Évaluez les expressions booléennes suivantes pour différentes


# combinaisons des valeurs des capteurs. Quelle sera la sortie booléenne ?
# Expliquez vos résultats.

# a.
True and False or True and True or False
# Votre réponse ici:

# b.
False or (True and (False or True)) and True
# Votre réponse ici:

# c.
(True and False) == ((False or True) and False)
# Votre réponse ici:

# d. Pourquoi les deux côtés sont-ils équivalents ? Observez-vous un motif particulier (« pattern ») ?
# i.
(True or False) == (not (True and False))
# Votre réponse ici:

# ii.
(False or True and True) == (not (False and (True or False)))
# Votre réponse ici:

# iii.
(False and True) == (not (True or True))
# Votre réponse ici:

# ------- 2. Analyse des valeurs mesurées des capteurs ------- #

#Vous avez trois capteurs dans votre serre qui mesurent différents paramètres
# environnementaux : température, humidité, et intensité lumineuse.
# Soit la variable valeur qui représente la sortie d'un capteur donné.

# a. valeur = 18 (température en degrés Celsius)


# b. valeur = 78 (humidité en pourcentage)
# c. valeur = 1000 (intensité lumineuse en lux)

valeur = 18
(valeur % 2 == 0 and valeur > 0) or (valeur > 50 and valeur // 10 == 7) and ((valeur * 10) // 100 == valeur // 10)

# Quel est le résultat de l'expression suivante selon la valeur de 'valeur' ?


# a :
# b :
# c :

# ------- 3. Comparaison des capteurs ------- #

# Trois capteurs mesurent les variables suivantes : température, pression,


# et CO ‚. Comparez les résultats renvoyés par ces capteurs en utilisant
# des opérateurs booléens complexes.

# a.
capteur1 = "Température"
capteur2 = "Humidité"
capteur3 = "Lumière"
capteur2 < capteur1 > capteur3 # équivalent à capteur2 < capteur1 and capteur1 > capteur3
# Votre réponse ici:

# b.
i = 1
ii = 2
iii = 3
iv = 4
v = 5
((v != ii) <= (iii < iv) == i)
# Votre réponse ici:

# ------- 4. Vérification des formats des données mesurées ------- #

# Lors de l'analyse des données, vous remarquez que certains formats


# ne sont pas standards. Vous devez vérifier si les formats respectent
# certaines conditions.

# a.
capteur1 = "lum"
capteur2 = "humid"
capteur3 = "Temp"
capteur1[:3] == capteur3[1:4] and [Link]("u") == [Link]("T") and capteur3[:].replace("Temp", "Hum") == capteur2
# Votre réponse ici:
Analyse des résultats de capteurs et tests logiques
# b.
valeur1 = "5"
valeur2 = "23"
valeur3 = "23e-5"
(valeur1 == 5 or ((str(5) == valeur1) and (int(valeur1) == 5))) and (int(float(valeur3)) == 0) and ((float(valeur3) * 1e5) == int(valeur2))
# Votre réponse ici:

Calcul maximum de 4 chiffres aléatoires


# Écrivez votre code ci-dessous:
import random

# Générer 4 chiffres aléatoires entre 0 et 100


num1 = [Link](0, 100)
num2 = [Link](0, 100)
num3 = [Link](0, 100)
num4 = [Link](0, 100)

# Afficher les 4 chiffres


print(f"Les 4 chiffres générés sont : {num1}, {num2}, {num3}, {num4}")

# Complétez le reste du code pour trouver le maximum des 4 chiffres avec if-elif-elifelse

# Complétez le reste du code pour trouver le maximum des 4 chiffres avec Math

Un mot de passe sécuritaire


# Écrivez votre code ci-dessous:

FizzBuzz d'un nombre


# Écrivez votre code ci-dessous:

Calculateur de chance de réussite


Entrez votre nom : Sarah
Chance de réussite : 45%

Entrez votre nom : Christophe


Chance de réussite : 78%

import random
import math

# Demander à l'utilisateur d'entrer son nom


nom = input("Entrez votre nom : ")

# Calculer une chance de réussite aléatoire entre 0 et 100


chance_initiale = [Link](0, 100)

# Complétez le reste du code pour ajouter un bonus et afficher la chance de réussite

Vous aimerez peut-être aussi