Entrées et sorties en Python⚓︎
En général, un programme traite des données (texte, image, audio, vidéo, etc.) et en renvoie d'autres.
Les données à traiter sont dites en entrée du programme ; celles qui sont renvoyées sont dites en sortie.
graph LR
%%{init: {'curve': 'basis'}}%%
val([données en entrée])--> fonc[[programme]] --> res([données en sortie])
classDef params fill:#00BFFF,stroke:#333
classDef foncs fill:#f96,stroke:#333
classDef results fill:#9f6,stroke:#333
class fonc foncs
class val params
class res results
La fonction print
⚓︎
Après traitement de données, un programme peut renvoyer les résultats vers différentes sorties :
- dans une base de données (exemple : enregistrement d'une rentrée d'argent sur un compte bancaire) ;
- dans un fichier (sauvegarde de résultats) ;
- vers un périphérique (imprimante, émetteur, etc.) ;
- plus spécifiquement vers la sortie standard, chez nous l'écran.
La fonction print
est utilisée dans ce dernier cas.
Exercice
- Observez et exécutez les exemples présents dans l'éditeur ci-dessous.
print(5 + 3)bksl-nlvar1 = "Bonjour"bksl-nlvar2 = "tout le monde !"bksl-nlprint(var1)# affichage du contenu d'une variablebksl-nlprint(var2)# idembksl-nlprint("Nous sommes en", 2022, "cette année.")# affichage de constantesbksl-nl###
- Faîtes en sorte, en utilisant
var1
etvar2
d'avoir l'affichage Bonjour tout le monde sur une seule ligne.
À retenir
La fonction print
permet d'afficher à l'écran des constantes ou le contenu de variables.
Dans un même print
, les objets à afficher sont séparés par des virgules.
Exercice
Écrivez une instruction dans l'éditeur ci-dessous de façon à ce qu’il s'affiche exactement ceci :
2^100 = 1267650600228229401496703205376
dans la console.
Consigne : le grand nombre de droite doit être calculé par Python (pas de copié-collé...).
Exercice
Modifiez le programme ci-dessous pour obtenir ce résultat :
Superman est le plus intelligent 🤩
Le plus fort est Superman et c'est aussi le plus beau !
Superman ! Superman ! Superman ! Superman ! Superman ! Superman !
Consignes : vous pourrez changer le nom à la première ligne seulement et le reste du programme devra s’adapter. N'ajoutez pas de print
supplémentaire.
La fonction input
⚓︎
Un programme peut aller chercher ses données dans une base de données (exemple : moteur de recherche), dans un fichier (exemple : ouverture d'un document par un traitement de texte) ou elles peuvent fournies par un humain (via le clavier ou la souris) ou un autre programme.
Tous ces modes seront étudiés cette année, commençons par le cas d'une interaction homme machine (IHM) via le clavier.
Pour entrer avec le clavier des données dans un programme, il faut utiliser la fonction input
.
Voici la syntaxe de cette fonction :
nom_variable = input()
Lors de l'exécution, la variable nommée nom_variable
contiendra la valeur entrée par l'utilisateur humain.
Exercice
Entrez ce script dans l'éditeur :
reponse = input()
print(reponse * 2)
Puis exécutez-le plusieurs fois en entrant du texte puis des nombres (il y a un bug, cliquez sur Annuler la deuxième fois que la fenêtre de Saisie s'ouvre).
Que remarquez-vous ?
Attention
La fonction input
renvoie toujours du texte. Si nous voulons récupérer un nombre, il faut convertir la valeur entrée. Par exemple, pour afficher le double d'un entier entré par l'utilisateur :
reponse = input()
reponse = int(reponse)
print(reponse * 2)
Remarque
Nous pouvons écrire cela de façon plus compacte :
reponse = int(input())
print(reponse * 2)
ou encore, en une seule ligne :
print(int(input()) * 2)
mais nous perdons en lisibilité.
En pratique, le programmeur et l'utilisateur du programme sont rarement la même personne.
Il faudrait donc que l'utilisateur sache ce que le programme lui demande (un identifiant numérique ? une adresse mail ?), pour cela nous ajoutons un texte, soit avec deux instructions :
print("Entrez une valeur")
var = input()
soit avec une instruction :
var = input("Entrez une valeur")
À retenir
- pour afficher (sortir) des valeurs :
print(var1, var2, ...)
- pour entrer des valeurs :
var = input("un texte à destination pour l'utilisateur")
- penser à convertir éventuellement le résultat de
input
avec les fonctionsint
oufloat
suivant les cas.
Exercice
Écrivez un programme qui demande le nom de l'utilisateur et qui, si par exemple le nom entré est "Martin", affiche dans la console le texte Bienvenue Martin !
.
Votre programme devra pouvoir dire Bienvenue à n'importe qui !
Exercice
Écrivez un programme qui demande à un utilisateur son année de naissance (exemple : l’utilisateur choisit 2006) puis l’année actuelle (exemple : 2022) et affiche ensuite le message :
C’était il y a ... années
(dans notre exemple : C’était il y a 16 années
).
Votre programme devra pouvoir donner l'"âge" de n'importe qui bien sûr.