Logo de kxs.frCours d'informatique pour le lycée et la prépa

Interaction avec l’utilisateur

Input

Pour avoir un programme plus interactif, nous pouvons utiliser la fonction input() qui permet de demander à l’utilisateur de saisir une donnée. Testez le programme suivant qui va vous demander de saisir une valeur pour a :

a = input("Saisir une valeur pour a : ")
print(a)

Ce qui est saisi par l’utilisateur est toujours considéré comme une chaîne de caractère. Si on veut l’utiliser comme un nombre il faut le transformer en entier avec int() comme dans l’exemple ci-dessous :

a = int(input("a ? "))
print(a + 2)

1) Essayez le programme ci-dessus sans le int(). Expliquez ce qui ne va pas.

On obtient l'erreur suivante :

print(a + 2)
TypeError: can only concatenate str (not "int") to str

a est alors une chaîne de caractères, python n'arrive donc pas à faire l'addition entre un entier et une chaîne de caractère. Le message d'erreur parle de concaténation, nous verrons cela plus tard.

Si on avait voulu le transformer en float, on aurait utilisé la fonction float().

Print

Nous avons déjà utilisé la fonction print() pour afficher le contenu de variables : print(a). Nous pouvons également afficher une chaîne de caractère : print("Texte à afficher"). Et il est possible de combiner les deux : print("La valeur de a est", a). Dans ce cas, la fonction print() va mettre bout à bout les paramètres qu'elle reçoit en les séparant par des espaces.

2) Essayez le programme ci-dessous pour voir ce qu'il se passe :

a = input("Saisir une valeur pour a : ")
print("La valeur de a est", a)
Saisir une valeur pour a : 2
La valeur de a est 2