Saisir une chaîne de caractères
La fonction input()
permet de demander à l'utilisateur
de saisir une chaîne de caractères au clavier. Il ne faut pas oublier
d'affecter la valeur ainsi saisie à une variable.
Testez le programme suivant :
nom = input("Tapez votre nom : ")
print("Bonjour ", nom, " !")
La première ligne affiche le message "Tapez votre nom : "
à l'écran puis stocke la chaîne entrée par l'utilisateur dans la variable
nom
.
La seconde ligne affiche alors "Bonjour "
suivi du nom et d'un
point d'exclamation.
Saisir un entier
On utilise également input()
pour que l'utilisateur saisisse
un entier au clavier. Mais comme input()
renvoie nécessairement
une chaîne, il faut utiliser une instruction de conversion de type.
Exemple :
n = int(input("Saisissez un entier : "))
print("Le type de la variable n :", type(n)))
Grâce à la fonction int()
, n
est bien un entier.
Il faut bien sûr que l'utilisateur saisisse effectivement un entier
(écrit avec des chiffres). S'il rentre par exemple le mot
deux
, cela générera une erreur.
Saisir un réel
De façon analogue, on utilisera la fonction de conversion de type
float()
:
x = float(input("Saisissez un flottant : "))
print("Le type de la variable x :", type(x))
print(x)
Si l'utilisateur tape 2
sur le clavier, vous pourrez constater que la
dernière ligne (print(x)
) affichera 2.0
à l'écran.
Le contenu de la variable x
est bien de type float
.
Saisir une opération
Si l'utilisateur saisit par exemple 3/4
ou 3+4
,
il ne s'agit plus d'un float
ou d'un int
(bien que le résultat de l'opération soit un float
ou un int
).
Dans ce cas, on pourra utiliser la fonction eval()
.
x = eval(input("Saisir par exemple 3/4 : "))
print("Le type de la variable x :", type(x))
print(x)
On obtient :
Entrez par exemple 3/4 : 3/4
Le type de la variable x : <class 'float'>
0.75
Pour afficher un résultat ou un message à l'écran, on utilise
la fonction print()
.
print()
et virgule
On peut utiliser la virgule pour alterner message et valeur de variable.
nom = input("Tapez votre nom : ")
age = int(input("Saisissez votre âge : "))
taille = float(input("Saisissez votre taille (en mètres) : "))
print("Vous vous appelez ", nom, ". Vous avez ", age, " ans et vous mesurez ", taille, " m.")
print()
et .format()
On peut utiliser la fonction .format()
qui permet d'écrire
un texte moins haché en insérant
le contenu des variables dans le texte à afficher :
nom = input("Tapez votre nom : ")
age = int(input("Saisissez votre âge : "))
taille = float(input("Saisissez votre taille (en mètres) : "))
print("Vous vous appelez {}. Vous avez {} ans et vous mesurez {} m.".format(nom, age, taille))
La première accolade contient la valeur du premier paramètre de la
fonction format()
(ici nom
),
la seconde accolade affichera la valeur du second paramètre, ...
On peut également indiquer des références explicites :
nom = input("Tapez votre nom : ")
age = int(input("Saisissez votre âge : "))
taille = float(input("Saisissez votre taille (en mètres) : "))
print("Vous vous appelez {1}. Vous avez {0} ans et vous mesurez {2} m.\nAu revoir {1}.".format( age, nom, taille))
L'accolade {0}
sera remplacée par la valeur du premier
paramètre (ici age
), l'accolade {1}
sera
remplacée par la valeur du second paramètre (ici nom
). Et la
valeur d'une même variable peut être utilisée plusieurs fois.
Documentation python
sur la fonction format()
.
print()
et f-string
À partir de la version 3.6 de Python, on dispose
également des f-strings qui permettent des affichages de résultat encore
plus lisibles.
Un exemple :
age = 48
nom = "Schmoll"
profession = "voyageur dans le temps"
print(f"{nom} est âgé de {age} ans et exerce la profession de {profession}.")
print(f"... il a maintenant rajeuni et son âge est {age/6} ans.")
On obtient :
Schmoll est âgé de 48 ans et exerce la profession de voyageur dans le temps.
... il a maintenant rajeuni et son âge est 8.0 ans.
Si l'exécution de ce code ne fonctionne pas sur votre machine, vérifiez votre version de Python.
print()
et concaténation
On peut également concaténer des chaînes (en transformant en chaîne, grâce
à la fonction str()
, les variables qui n'en sont pas).
nom = input("Tapez votre nom : ")
age = int(input("Saisissez votre âge : "))
print("Vous vous appelez " + nom + ". Vous avez " + str(age) + " ans.")