Python au lycée (1) : Les variables Méthode

Saisir et afficher des données avec input et print

Durée estimée
5 minutes
Votre progression

Créez un compte gratuit pour suivre votre avancement et reprendre où vous avez laissé.

Créer un compte

Méthode

Pour communiquer avec l'utilisateur en Python :

  1. Afficher une information avec print(...). On peut passer plusieurs arguments séparés par des virgules ; Python insère automatiquement un espace entre eux.
  2. Demander une saisie avec input("message"). Le message affiché à l'écran guide l'utilisateur ; le programme attend la touche Entrée pour continuer.
  3. Convertir la saisie si on attend un nombre, car input renvoie toujours une chaîne : utiliser int(input(...)) pour un entier, float(input(...)) pour un décimal.
  4. Stocker la valeur dans une variable pour pouvoir la réutiliser ensuite.

Calculer le périmètre d'un rectangle

On veut un programme qui demande la longueur et la largeur d'un rectangle puis affiche son périmètre.

L = float(input("Longueur : "))
l = float(input("Largeur : "))
p = 2 * (L + l)
print("Le périmètre vaut", p, "unités.")

Étape 1 : input("Longueur : ") affiche le message et attend la saisie. La fonction float(...) convertit la chaîne saisie en décimal, qui est rangé dans L.

Étape 2 : Même chose pour l.

Étape 3 : On calcule le périmètre avec $p = 2 \times (L + l)$.

Étape 4 : print affiche un message explicatif, la valeur de p et l'unité. Avec les saisies $L = 5$ et $l = 3$, on obtient :

$ \text{Le périmètre vaut 16.0 unités.} $

Demander le prénom et saluer

On veut saluer l'utilisateur par son prénom :

prenom = input("Quel est ton prénom ? ")
print("Bonjour", prenom, "!")

Étape 1 : input attend la saisie et range le texte dans prenom. Pas besoin de conversion : on veut bien une chaîne.

Étape 2 : print affiche les trois éléments séparés par un espace. Si l'utilisateur saisit « Léa », on obtient : Bonjour Léa !

Remarque

Pour afficher plusieurs valeurs sur une même ligne avec un séparateur différent, on peut utiliser le paramètre sep de print :

print("a", "b", "c", sep=" - ")   # affiche : a - b - c

Attention

Oublier la conversion int(...) ou float(...) autour de input est l'erreur la plus fréquente. En effet :

n = input("Un entier : ")
print(2 * n)     # si l'utilisateur tape 5, affiche 55 et non 10

Ici n vaut la chaîne « 5 ». L'opérateur « * » répète donc la chaîne deux fois et affiche « 55 ». Pour obtenir le double 10, il faut écrire n = int(input(...)).

Pour s'entraîner