17. Questionner - input()
¶
Dans ce chapitre, nous découvrons comment un programme peut poser une question lors de son exécution. L’utilisateur du programme peut alors répondre et entrer une information. La réponse sera stockée dans la mémoire de l’ordinateur et sera associée à une variable. Grâce à cette variable, le programme peut traiter la réponse fournie, et le résultat peut être affiché. Nous allons voir que :
la fonction
input('question')
demande une information,une variable, par exemple
x
, mémorise une information,la fonction
print()
affiche un texte (une réponse).
17.1. La fonction input()
¶
La fonction input('question')
permet de demander une entrée (input) à l’utilisateur.
L’utilisateur voit le texte question
affiché à la console et doit répondre à cette question. Il termine son entrée avec la touche Enter.
La réponse de l’utilisateur est ensuite mémorisée dans une variable que nous appelons x
dans cet exemple.
Ensuite, nous pouvons utiliser cette variable x
dans la suite du programme, par exemple comme argument dans une fonction print()
.
17.2. La fonction print()
¶
La fonction print()
peut accepter un ou plusieurs arguments, séparés par une virgule. Un espace est inséré à la place de la virgule.
Appeler la fonction print()
sans argument, insère une ligne vide.
17.3. La variable¶
Une variable est une place en mémoire pour stocker de l’information.
Vous êtes complètement libres dans le choix des noms pour les variables, mais il est recommandé de choisir des noms qui sont le plus explicites possible. C’est mieux d’utiliser des noms de variable parlants, comme nom
et age
, même si on avait pu utiliser x
et y
.
Exercice 1
Ajoutez une troisième question et utilisez la réponse dans un print()
.
17.4. Demander un nombre¶
La fonction input()
permet d’obtenir une entrée de l’utilisateur. Mais attention !
La valeur retournée est une chaine de caractères (de type string str
). Nous pouvons le prouver avec la fonction type()
.
Pour pouvoir utiliser cette valeur dans un calcul, nous devons la transformer en nombre. Pour convertir une chaine de caractères en un nombre à virgule flottante nous utilisons la fonction de conversion float()
.
17.5. Opérations de base¶
En Python, nous retrouvons les 4 opérations arithmétiques de base :
addition (
+
)soustraction (
-
)multiplication (
*
)division (
/
)
17.6. Puissance¶
En Python l’opérateur de puissance est **
. Ne le confondez pas avec le symbole ^
utilisé dans d’autres langages tel qu’Excel.
Nous pouvons utiliser une puissance de 0.5 pour calculer une racine.
Nous pouvons maintenant calculer une diagonale, en utilisant le théorème de Pythagore.
17.7. Division entière¶
En Python, nous avons un opérateur spécial pour la division entière (//
) ainsi que pour le reste de la division entière. L’opérateur pour le reste de la division entière est %
est s’appelle modulo.
Cette fois-ci nous transformons la chaine pas en nombre à virgule flottante (float
), mais en nombre enter (int
).
17.8. Calcul géométrique¶
Dans l’exemple suivant, on demande le rayon et on affiche rayon, diamètre et circonférence. Ajoutez la surface du cercle en utilisant la formule :
Exercice 2
Complétez le programme pour afficher la surface du cercle.
Nous pouvons également créer des programmes où nous demandons plusieurs valeurs à l’utilisateur. Cette fois, nous permettons seulement l’utilisation de nombres entiers, et donc transformons la chaine obtenue avec int()
en nombre entier.
Exercice 3
Complétez le programme pour afficher le périmètre et la diagonale.
17.9. Créer un quiz¶
Pour faire des petits quiz, nous créons des paires de mots qui vont ensemble. Par exemple pays et capitale dans un cours de géographie, ou une liste de vocabulaire en deux langues, pour un cours de langue.
Séquence de questions¶
Nous mettons les deux valeurs question
et solution
dans un tuple et nous regroupons ces paires dans un deuxième tuple que nous appelons quiz
Quand nous parcourons quiz
avec une boucle for
nous pouvons utiliser une seule variable, par exemple x
et lui affecter le tuple (question, solution)
Nous pouvons aussi parcourir le quiz avec un tuple de deux variables (q, s)
et associer les deux valeurs séparément à chaque variable : donc
q = question
et s = solution
.
Poser une question¶
Nous pouvons maintenant extraire la question et la poser plusieurs fois dans une boucle for
. Avec input()
nous demandons la réponse. Nous séparons les questions avec un print()
sans argument pour insérer une ligne vide entre les questions.
Evaluer une réponse¶
Nous introduisons ici déjà la structure if-else
que nous allons voir en détail plus tard.
Le mot-clé if
est suivi d’une condition. Ici nous comparons la réponse donnée par l’utilisateur avec la solution connue par le programme.
L’expression reponse == solution
renvoie comme valeur True
ou False
. Selon cette valeur, un des deux blocs est exécuté.
Quiz avec score¶
Comment ajouter un score ?
Il faut ajouter 3 éléments de code pour:
initialiser une variable au début
augmenter la valeur avec chaque bonne réponse
afficher le score à la fin
Nous reprenons l’exemple du chapitre précédent et nous ajoutons le calcul du score
Quiz mathématique¶
Nous utilisons un tuple avec deux valeurs (a, b) que nous mettons dans un deuxième tuple. Cette fois nous avons pas besoin de donner une solution, car nous pouvons la calculer.
Exercice 4
Ajoutez le score pour ce quiz.
17.10. Erreurs¶
Dans des chapitres précédents, nous avons déjà vu quelques messages d’erreurs. Mais il y en a d’autres que nous allons voir ici. Il est important de bien comprendre les messages d’erreur. Dans cette section, vous allez découvrir les différentes catégories d’erreur et comment les corriger.
SyntaxError - accents¶
Cette erreur survient lorsque vous utilisez des accents dans des noms de fonctions ou de variables.
Exercice 5
Corrigez les trois erreurs de syntaxe’.
SyntaxError - parenthèses¶
Cette erreur survient lorsque vous oubliez de fermer une parenthèse.
Exercice 6
Corrigez l’erreur de syntaxe.
SyntaxError - ponctuation¶
Cette erreur survient lorsque vous oubliez un signe de ponctuation (parenthèse, virgule, apostrophe).
Exercice 7
Corrigez les trois erreurs de syntaxe.
TypeError¶
Cette erreur survient lorsque vous mettez des opérandes dont le type n’est pas approprié pour l’opérateur, par exemple une comparaison entre une chaîne et un entier.
Exercice 8
Corrigez les trois erreurs de type.
17.11. Exercices¶
Téléchargez l’exercice
Lancez un éditeur externe (tel que Thonny)
Depuis l’éditeur ouvrez le fichier téléchargé
Remplacez … par votre code
Déposez vos exercices sur Moodle
Chatbot¶
Créez un programme qui vous pose des questions
votre nom
votre âge
votre couleur préférée
votre groupe de musique préféré
votre classe
votre meilleur ami
À chaque fois le chatbot mémorise votre réponse dans une variable qu’il utilise dans la phrase suivante.
Rectangle¶
Faites un programme qui demande à l’utilisateur les côtés a et b d’un rectangle et calcule ensuite
le périmètre
la surface
et la diagonale
Cercle¶
Faites un programme qui demande à l’utilisateur le rayon d’un cercle et calcule ensuite
le diamètre
la circonférence
et la surface
Sphère¶
Faites un programme qui demande à l’utilisateur le rayon d’une sphère et calcule ensuite
le diamètre
la surface
et le volume
Quiz de multiplication¶
Créez un quiz de multiplication.
Complétez pour avoir 10 questions
Corrigez les erreurs
Ajoutez le calcul du score
Quiz de vocabulaire¶
Créez un quiz de vocabulaire français-anglais.
Complétez pour avoir 10 questions
Corrigez les erreurs
Ajoutez le calcul du score
Quiz Kahoot¶
La plate-forme d’apprentissage ludique Kahoot! est utilisée comme technologie éducative dans les écoles et autres établissements d’enseignement.
Ses jeux d’apprentissage, Kahoots, sont des questionnaires à choix multiples qui permettent à plusieurs utilisateurs de jouer simultanément. Le site est accessible via un navigateur Web, mais aussi téléchargeable sur smartphone.
Créez un quiz avec des questions sur un sujet de culture générale, dans le style des quiz sur le site Kahoot.
Complétez pour avoir 10 questions
Ajoutez le calcul du score