Vous pouvez combiner plusieurs conditions booléennes avec les opérateurs logiques and
et or
.
note = float(input())
if note < 0 or note > 6:
print("note invalide")
L’opérateur not
permet d’inverser la valeur de la condition (comme la porte logique).
pizza = input()
if not pizza == "Hawaï": # équivalent à 'if pizza != "Hawaï":'
print("Commande acceptée")
Une liste en python est délimité par des []
et chaque élément est séparé par une ,
.
# Définition d'une liste vide
liste = []
# Définition d'une liste avec une string
liste = ["bleu"]
# Définition d'une liste de plusieurs nombres
liste = [2, 4, 8]
# Accès au premier élément de la liste
print(liste[0])
# Combinaison de listes
oui = ["o", "oui"]
non = ["n", "non"]
reponses = oui + non
print(reponses) # ["o", "oui", "n", "non"]
On peut vérifier si un élément est contenu dans une liste avec l’opérateur in
(ou not in
pour pas contenu).
ingredient = input()
if ingredient not in ["mozzarella", "champignon", "jambon", "tomate", "ananas"]:
print("Ingrédient inconnu")
Pour ignorer les majuscules, on peut utiliser la fonction lower()
qui transforme tous les caractères en minuscule.
reponse = input().lower() # "Oui" sera transformé en "oui"
if reponse in ["oui", "non"]:
print("Réponse acceptée")
Il est aussi possible d’écrire les strings sur plusieurs lignes en délimitant avec """
a = """Lorem ipsum dolor sit amet,
consectetur adipiscing elit,
sed do eiusmod tempor incididunt
ut labore et dolore magna aliqua."""
print(a)
Pour redemander une saisie à l’utilisateur continuellement jusqu’à ce qu’il entre une valeur valide, on peut utiliser une boucle while
.
# S'assurer que la variable réponse est bien vide
reponse = ""
# Tant que la réponse n'est pas valide, reposer la question
while reponse not in ["oui", "non"]:
reponse = input("Oui ou non ?")
# La variable réponse contiendra forcément soit "oui", soit "non" à partir d'ici, à utiliser pour la suite
if reponse == "oui":
print("Oui !")
elif reponse == "non":
print("Non !")
Une autre manière (plus avancée) serait d’utiliser uniquement une fonction.
# Définition de la fonction
def oui_non():
reponse = input("Oui ou non ?")
if reponse in ["oui", "non"]:
return reponse
else:
return oui_non()
# Appel de la fonction
oui_non()
On pourrait aller encore plus loin en mettant la question en argument pour pouvoir réutiliser la même fonction avec des questions différentes.
# Définition de la fonction
def oui_non(question):
reponse = input(question)
if reponse in ["oui", "non"]:
# Retourne la valeur si valide
return reponse
else:
# Redemande si pas valide
return oui_non()
# Appel de la fonction
oui_non("Oui ou non ?")
# Nouvel appel de la fonction avec une autre question
oui_non("Non ou oui ?")