Aller au contenu

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

  1. 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
  2. Faîtes en sorte, en utilisant var1 et var2 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.

###
monpy-undnom = "Superman"bksl-nlprint()bksl-nlprint()bksl-nlprint()bksl-nl

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 :

🐍 Script Python
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 :

🐍 Script Python
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 :

🐍 Script Python
reponse = input()
reponse = int(reponse)
print(reponse * 2)
Remarque

Nous pouvons écrire cela de façon plus compacte :

🐍 Script Python
reponse = int(input())
print(reponse * 2)

ou encore, en une seule ligne :

🐍 Script Python
    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 :

🐍 Script Python
print("Entrez une valeur")
var = input()

soit avec une instruction :

🐍 Script Python
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 fonctions int ou float 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.

###