SNT & NSI · TOUS NIVEAUX (2NDE · 1ÈRE · TERMINALE)

Interactions Utilisateur : Entrées et Sorties

Maîtriser les fonctions print() et input() pour afficher des informations à l'écran et dialoguer avec l'utilisateur.

Interactions Utilisateur : Entrées et Sorties (print & input)

Objectifs du chapitre

  • Maîtriser l'affichage à l'écran grâce à la fonction print().
  • Récupérer des données saisies au clavier avec la fonction input().
  • Comprendre le transtypage immédiat pour convertir la saisie texte en nombre (int(input(...))).
  • Construire un premier script complet interactif.

1. Afficher un résultat : La fonction print()

La fonction print() permet à un programme d'envoyer un message vers la sortie standard (l'écran de l'utilisateur).

Python
1
2
3
4
5
6
7
8
9
10
# Afficher du texte brut (entre guillemets)
print("Bienvenue dans le cours de SNT !")
# Afficher la valeur d'une variable
age = 15
print(age)
# Afficher plusieurs éléments séparés par une virgule
nom = "Lucas"
print("Bonjour", nom, ", tu as", age, "ans.")

Formatage moderne avec les f-strings

En Python moderne, on utilise souvent les chaînes formatées précédées de la lettre f :

Python
1
2
3
nom = "Sarah"
ville = "Paris"
print(f"Bonjour {nom}, bienvenue à {ville} !")
Exercice

Exercice 1 : Formater des messages avec print()

Écrivez un court script Python qui définit les variables suivantes :

  • jeu = "Minecraft"
  • heures_jouees = 42
  • niveau = 15

Et qui affiche la phrase suivante à l'écran à l'aide d'une f-string : Sur Minecraft, j'ai joué 42 heures et j'ai atteint le niveau 15.

2. Demander une saisie : La fonction input()

La fonction input() met le programme en pause et attend que l'utilisateur tape une information au clavier puis valide avec la touche Entrée.

Python
1
2
reponse = input("Quel est votre club de sport préféré ? ")
print("Vous avez choisi :", reponse)
Attention

Règle d'or de la fonction input()

La fonction `input()` renvoie TOUJOURS une chaîne de caractères (`str`), même si l'utilisateur saisit uniquement des chiffres !

Observer ce piège classique :

Python
1
2
3
nombre = input("Entrez un nombre : ") # Si l'utilisateur tape 10
double = nombre * 2 # Attention : "10" * 2 donne "1010" !
print("Le double est :", double)

3. Saisir des nombres : Le transtypage direct

Pour effectuer des opérations mathématiques sur la saisie de l'utilisateur, on combine int() ou float() avec input() :

Python
1
2
3
4
5
6
7
8
9
# Pour un nombre entier :
annee = int(input("En quelle année êtes-vous né ? "))
age = 2026 - annee
print(f"En 2026, vous avez environ {age} ans.")
# Pour un nombre à virgule :
prix_ht = float(input("Entrez le prix hors taxes (€) : "))
prix_ttc = prix_ht * 1.20
print(f"Le prix TTC est de {prix_ttc} €.")
Console / Sortie
1
2
3
4
5
Saisie au clavier (Texte brut) ➔ input() ➔ "2010"
↓
Transtypage en entier ➔ int("2010") ➔ 2010 (Nombre manipulable)
↓
Calcul informatique ➔ 2026 - 2010 ➔ 16
Exercice

Exercice 2 : Le calculateur de forfait données mobiles

Écrire un programme Python interactif qui :

  1. Demande à l'utilisateur le nom de son opérateur mobile.
  2. Demande le volume mensuel de données en Go inclus dans son forfait (nombre décimal avec float(input(...))).
  3. Calcule l'équivalent en Mégaoctets (sachant que 1 Go = 1024 Mo).
  4. Affiche un message récapitulatif clair indiquant le nom de l'opérateur et le volume en Mo.

Quiz d'auto-évaluation

Question 1 : Type de retour de input()

Que retourne l'instruction type(input("Votre âge : ")) si l'utilisateur entre le nombre 15 au clavier ?

Question 2 : Saisie d'un nombre décimal

Quelle est la syntaxe correcte pour demander un prix décimal à l'utilisateur ?

Question 3 : Piège du doublement de texte

Si un programme contient texte = input("Nombre : ") et que l'utilisateur tape 7, que produit l'instruction print(texte * 3) ?

Avez-vous compris et assimilé ce cours ?

+50 XP

Étudiez le contenu activement pendant au moins 45 secondes pour pouvoir débloquer la validation au mérite.

Temps d'étude actif :0s / 45s