Aller au contenu
Sommaire du parcours

Module 2Textes et saisie

Dialoguer avec input()

Posez des questions à l’utilisateur et convertissez ses réponses en nombres.

  • 10 min
  • 3 étapes
  • 2 exercices

Poser une question

La fonction input() affiche une question, attend que l’utilisateur tape sa réponse, puis renvoie cette réponse. On la range généralement dans une variable pour s’en servir ensuite. Lancez l’exemple : quand le programme attend votre réponse, une zone de saisie apparaît dans la console. Tapez votre prénom, puis appuyez sur Entrée.

etape_1.py
prenom = input("Comment vous appelez-vous ? ")
print(f"Enchanté, {prenom} !")
Python 3
Console

Cliquez sur « Exécuter » pour voir le résultat ici.

input() renvoie toujours du texte

Même si l’utilisateur tape 15, input() renvoie le texte "15", et non le nombre 15. Or additionner deux textes les colle l’un à l’autre : "15" + "1" donne "151" ! Pour calculer avec une réponse, il faut d’abord la convertir en nombre avec int() pour un nombre entier, ou float() pour un nombre à virgule.

etape_2.py
reponse = input("Quel âge avez-vous ? ")
print(type(reponse))

age = int(reponse)
print(f"L’an prochain, vous aurez {age + 1} ans.")
Python 3
Console

Cliquez sur « Exécuter » pour voir le résultat ici.

Convertir dans les deux sens

int() et float() transforment un texte en nombre, et str() transforme un nombre en texte. str() permet par exemple de coller un nombre à un texte avec +, même si les f-strings restent plus simples. Si le texte ne contient pas un nombre valide, comme "douze", int() provoque une erreur ValueError. Essayez pour voir l’explication qui s’affiche.

etape_3.py
texte = "42"
nombre = int(texte)
print(nombre + 8)

prix = float("2.5")
print(prix * 2)

score = 120
print("Votre score : " + str(score))
Python 3
Console

Cliquez sur « Exécuter » pour voir le résultat ici.

À vous de jouer

Exercices

0 sur 2 réussi

Exercice 1

Convertir avant de calculer

La variable texte contient 25 sous forme de texte. Convertissez-la en nombre entier dans la variable nombre, pour que le programme affiche le double de ce nombre.

Résultat attendu

50
exercice_1.pyPython 3
texte = "25"

# Convertissez texte en nombre entier
nombre = texte

print(nombre * 2)
Console

Écrivez votre code, puis cliquez sur « Vérifier ma réponse ».

Exercice 2

Le ticket de caisse

Les variables quantite et prix contiennent des textes, comme s’ils venaient de input(). Convertissez quantite en nombre entier et prix en nombre à virgule, puis calculez le total.

Résultat attendu

Total : 4.5 euros
exercice_2.pyPython 3
quantite = "3"
prix = "1.5"

# Convertissez puis calculez le total
total = 0

print(f"Total : {total} euros")
Console

Écrivez votre code, puis cliquez sur « Vérifier ma réponse ».

Prêt pour la suite ?

Réussissez les exercices ci-dessus, ou marquez la leçon comme terminée quand vous le souhaitez.