Entrées utilisateur#
Qu'est-ce qu'une entrée utilisateur ?#
Dans les programmes que nous avons écrit jusqu'à présent, l'utilisateur n'avait jamais son mot à dire sur ce qu'il se passait : il cliquait sur Play et voyait le résultat s'afficher. Toutefois, dans la grande majorité des programmes, l'utilisateur doit pouvoir intéragir avec le programme avec son clavier, sa souris, sa manette de jeu, son microphone, etc. Toutes ces intéractions que l'utilisateur peut avoir avec le programme durant son exécution sont appelées des entrées utilisateur. Dans ce cours, nous n'allons traiter qu'un seul type d'entrée utilisateur : l'écriture de texte au clavier.
La fonction input#
Pour que l'utilisateur puisse écrire une valeur au clavier durant l'exécution du programme, on utilise la fonction input()
. Entre ses parenthèses, on met le texte à afficher à l'utilisateur pour lui indiquer ce qu'il doit écrire. Finalement, l'entrée de l'utilisateur doit être enregistré dans une variable. De ce fait, le input()
est toujours mis comme la valeur d'une variable, c'est-à-dire sous la forme variable = input()
. L'exemple ci-dessous permet par exemple de demander le prénom de l'utilisateur, puis de le saluer.
1prénom = input("Quel est votre prénom ?")
2print("Bonjour", prénom)
Fonctions de conversion de types#
Lorsque l'utilisateur doit rentré une valeur numérique (c'est-à-dire une valeur int
ou float
), la fonction input()
doit être contenue dans la fonction de conversion int()
ou float()
correspondante comme ci-dessous
1nb_invités = int(input("Combien de personnes sont invitées ?"))
2prix_par_personne = float(input("Quel est le prix en CHF par personne ?"))
3total = nb_invités * prix_par_personne
4print("Le prix total est de", total, "CHF")
Exercices#
Exercice 13#
Écrivez un programme Python demandant à l'utilisateur son nom, son prénom, ainsi que la ville ou le village dans laquelle il/elle habite. Ce programme affichera ensuite un texte saluant l'utilisateur correctement. Par exemple, si l'utilisateur s'appelle Maxime Jan et qu'il habite à Fribourg, alors le programme affichera :
Quel est ton nom?
Quel est ton prénom?
Où habites-tu?
Bonjour {afficher le prénom} {afficher le nom}, heureux de faire ta connaissance.
Je vois que tu habites à {afficher le lieu}.
#Ecrivez votre code ici
Solution
1nom = input("Quel est votre nom ?")
2prenom = input("Quel est votre prénom ?")
3ville = input("Où habitez-vous ?")
4print("Bonjour", prenom, nom, ", heureux de faire ta connaissance")
5print("Je vois que tu habites à", ville)
Exercice 14#
Le programme ci-dessous devrait permettre de calculer l'année de naissance de l'utilisateur. Toutefois, celui-ci contient au moins une erreur par ligne. Trouvez-les et corrigez-les.
age = input("Quel âge avez-vous ?")
annee = input("En quelle année sommes-nous")
print("Vous êtes né.e en" annee - age "ou en" annee - age - 1)
Solution
1age = int(input("Quel âge avez-vous ?"))
2annee = int(input("En quelle année sommes-nous"))
3print("Vous êtes né.e en", annee - age, "ou en", annee - age - 1)
Exercice 15#
Écrivez un programme permettant de convertir des degrés Fahrenheit en degrés Celsius. Pour une température en Fahrenheit \(F\), on trouve son équivalent en Celsius \(C\) avec la formule :
Par exemple, si l'utilisateur entre la valeur 60.2
, alors le programme affichera :
Quelle température en Fahrenheit souhaitez-vous convertir ?
Merci, xxx °F équivalent à yyy °C
#Ecrivez votre code ici
Solution
1fahrenheit = float(input("Quelle température en F souhaitez-vous convertir ?"))
2celsius = (fahrenheit - 32) / 1.8
3print("Merci,", fahrenheit, "°F équivaut à", celsius, "°C")
Exercice 16#
Ecrivez un programme permettant de calculer les quantités requises pour une recette de cake au citron. Les quantités dans le début de programme ci-dessous sont pour une personne. De plus, le programme laissera l'utilisateur choisir la quantité de sucre (en kg) qu'il souhaite mettre dans son cake. Le programme final affichera donc les textes suivants.
Combien de kg de sucre souhaitez-vous ajouter par personne ?
Pour combien de personne cuisinez-vous ?
Vous avez besoin de :
- xxx oeufs
- yyy citrons
- zzz kg de farine
- www kg de sucre.
#Ecrivez votre code ici
Solution
1
Exercice 17#
Développez un programme permettant de calculer la note que vous avez obtenue à un examen en fonction du nombre de points. On note \(P_{\text{obt}}\) le nombre de points obtenus et \(P_{\text{max}}\) le nombre de points maximal de l'examen. Dans le cas où le barème n'est pas adapté, la formule permettant de calculer la note est :
L'exécution du programme devrait alors ressembler à cela :
Combien de points pouvait-on obtenir au maximum ?
Combien de points avez-vous obtenu ?
Votre note est de : xxx
#Ecrivez votre code ici
Solution
1p_max = float(input("Combien de points pouvait-on obtenir au maximum ?"))
2p_obt = float(input("Combien de points avez-vous obtenu ?"))
3note = p_obt / p_max * 5 + 1
4print("Votre note est de :", note)