Entrées utilisateur#

Qu'est-ce qu'une entrée utilisateur ?#

Dans les programmes que nous avons écrits jusqu'à présent, nous avons toujours le contrôle, car si nous voulons modifier le résultat du programme, nous pouvons réécrire le code. Par exemple, pour modifier le résultat final de certains calculs, nous pouvons modifier la valeur des variables utilisées et réexécuter le programme. À partir de maintenant, nous distinguerons le créateur et l'utilisateur d'un programme, même si la plupart du temps, vous jouerez les deux rôles simultanément.

Le créateur du programme est celui qui écrit le code, qui sait ce qui se passe dans le programme et qui comprend Python (dans notre cas). L'utilisateur d'un programme est celui qui l'exécute (clique sur le bouton « Exécuter ») et l'utilise. Il peut donc ne pas être en mesure de modifier le code, pour diverses raisons. Tout comme lorsque vous jouez à un jeu vidéo, vous êtes l'utilisateur ; vous n'avez pas accès au code source, et même si vous y aviez accès, vous ne pourriez probablement pas le modifier de manière significative.

Parfois, l'utilisateur souhaite réexécuter un programme et adapter son exécution afin d'obtenir un résultat différent. Il souhaite interagir avec le programme pendant son exécution. L'interaction avec les programmes se fait par le biais de différentes entrées, comme la saisie de texte et de chiffres.

How users see programmers and vice versa.

Source: https://imgur.com/how-programmers-see-users-O8VQ5Dm#

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

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)

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 :

\[C = \frac{F - 32}{1.8}\]

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

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

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 :

\[\text{note} = \frac{P_{\text{obt}}}{P_{\text{max}}} \cdot 5 + 1\]

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