2. Interactions

Dans ce chapitre, nous apprenons à communiquer avec un programme : afficher des résultats, interroger le type d’une valeur, convertir entre types, et lire une saisie utilisateur. Nous allons voir que :

  • la fonction print() affiche une valeur ou le contenu d’une variable,

  • la fonction type() renvoie le type d’une valeur,

  • les fonctions int(), float(), str(), bool() convertissent d’un type à un autre,

  • la fonction input() récupère une saisie — toujours de type str.

2.1. La fonction print()

print() accepte un ou plusieurs arguments séparés par des virgules. Python insère un espace entre eux.

Sans argument, print() insère une ligne vide.

Exercice 1

Affichez votre prénom, votre âge, et une phrase combinant les deux.

2.2. La fonction type()

type() renvoie le type d’une valeur ou d’une variable.

Question

Quel est le type renvoyé par type(3 + 3) ?

Question

Quel est le type renvoyé par type(3 / 3) ?

Exercice 2

Sans exécuter le code, prédisez ce qu’affichent ces lignes, puis vérifiez.

print(type(13 // 3))
print(type(13 > 3))
print(type("False"))
print(type(1.0))

2.3. Les conversions

On peut convertir une valeur d’un type à un autre avec int(), float(), str(), bool().

Avertissement

int() tronque (ne pas confondre avec un arrondi) : int(3.99) donne 3. int("3.14") provoque une erreur — on ne peut pas convertir directement un str décimal en int.

Question

Que vaut int(9.99) ?

Question

Que vaut bool("") ?

Exercice 3

Sans exécuter le code, prédisez le résultat de chaque expression.

int("100")
float("2")
str(True)
int(False)
bool("False")

Exercice 4

Le code suivant contient une erreur. Trouvez-la et corrigez-la.

x = "3.14"
y = int(x) + 1
print(y)

2.4. La fonction input()

input() affiche un message et attend une saisie. Elle renvoie toujours un str.

Pour utiliser la saisie dans un calcul, il faut convertir.

Ou plus directement :

Avertissement

input() renvoie toujours un str. Additionner deux saisies sans conversion concatène les chaînes au lieu de faire une somme.

Exercice 5

Demandez deux nombres à l’utilisateur et affichez leur somme, leur différence et leur produit.

Exercice 6

Que se passe-t-il si on exécute ce code et qu’on tape 5 puis 3 ? Expliquez et corrigez.

a = input("Premier nombre : ")
b = input("Deuxième nombre : ")
print("Somme :", a + b)

Exercice 7

Créez un programme qui demande le prénom et l’âge de l’utilisateur, et affiche : Bonjour Ada, vous avez 17 ans et dans 10 ans vous en aurez 27.

2.5. Erreurs fréquentes

Exercice 8

Trouvez et corrigez l’erreur.

age = input("Age : ")
print("Dans 5 ans :", age + 5)

Exercice 9

Trouvez et corrigez l’erreur.

x = int("trois")

Exercice 10

Corrigez les deux erreurs.

print("Résultat :"  2 + 3)
print(type(42)