Contenu

mathématiques

Recherche simple Vous recherchez ...

espace pédagogique > disciplines du second degré > mathématiques > enseignement > groupes de recherche > TraAM > actions nationales 2017-2018

entrée sortie

mis à jour le 22/05/2018


logo_entree_sortie.png

Différentes façons de programmer les entrées et sorties en python. Suivant les situations pédagogiques chaque forme peut avoir ses avantages et ses inconvénients.

mots clés : entrée, sortie, collège vers python


Le typage d'une variable


La première chose à se demander lorsque l’on va utiliser une variable, c’est son type. En scratch, il n’existe que deux éléments différents : les variables et les listes. Python offre plusieurs possibilités, les listes sont toujours présentent mais les variables sont de trois types distincts : entier (int), décimal (float) ou textuel (str).

En Scratch En Python
   


On peut voir que la simple addition ne donne pas le même effet suivant les types. On pourra aussi tester que entiers et décimaux sont compatibles entre eux mais pas avec du texte. En cas de problème de type, voici le message obtenu :


Le problème du typage est donc essentiel tant en entrée pour pouvoir ensuite effectuer les calculs voulus, qu’en sortie si l’on veut réutiliser le résultat obtenu.
 

Exemples de solution d'entrée-sortie


Voici quatre programmes qui permettent le calcul de la fonction 


Il est intéressant d’essayer avec ces quatre programmes de calculer  , pour les voir les avantages et les inconvénients de chacun.

Les entrées : def et input



L’utilisation de def permet de créer un programme que l’on pourra appeler plusieurs fois sans recompiler le fichier d’origine.
  • On peut donc s’en passer lorsque le programme est prévu pour effectuer une tache bien précise : Pour quelle valeur de n la suite  passe au dessus de ,
  • Par contre, si on veut effectuer plusieurs fois la même action, l’utilisation de def devient nécessaire : Lancer un dé à 6 faces pour avoir un résultat aléatoire,


    Il suffit alors de taper dé6() dans la console pour relancer un dé.

D’autre part, on peut compléter la commande def d’un argument, ou utiliser la commande input pour permettre d’adapter un paramètre. Par exemple, on veut pouvoir changer le nombre de face du dé :


 
La première idée a le défaut de typer de manière implicite n  mais pourra être appelé par un autre programme si nécessaire. La deuxième nécessite l’intervention d’une personne pour répondre à une question, cela rend le programme plus compréhensible pour un utilisateur.

On pourra ainsi utiliser la commande input dans les premiers programmes que l’on fournira aux élèves. Il s’agira alors de comprendre ce que fait le fichier fourni. Par contre, lors du passage à la production d’un programme par l’élève, il me semble nécessaire d’introduire rapidement def pour profiter pleinement de l’aspect fonction du langage Python et simplifier l’écriture des programmes.

Les sorties : print ou return ?


La commande print permet l’affichage d’un texte ou d’un nombre à l’écran dans la console, sans stopper l’exécution du programme. Elle prend donc tout son sens pour afficher plusieurs résultats intermédiaires. Par exemple, on peut rechercher l’ensemble des diviseurs d’un nombre :


La commande return ne peut être utilisée qu’après la commande def . Elle stoppe l’exécution du programme en renvoyant une réponse sous la forme d’une (ou plusieurs) variable(s) ou d’une liste. Cette réponse aura l’avantage de pouvoir être réutilisée dans un autre programme. On peut ainsi programmer la suite de Syracuse puis avoir de le temps de retour à 1 pour une valeur de départ choisie :

Au final, la commande return est à privilégier dès que la sortie désirée est unique et elle devient obligatoire dans le cas d’une ré-utilisation. Il reste primordial cependant de se servir de la commande print par exemple lors de la phase de programmation. Elle permettra de faire apparaitre des étapes intermédiaires et de débugger un programme en cas de difficulté.

Bilan


Comme on peut le voir dans les différents exemples présentés, le choix des entrées-sorties dépend à la fois du programme recherché et du niveau de programmation de l’utilisateur.

Il reste néanmoins certain que, pour bénéficier vraiment de l’avantage du langage Python et de l’introduction des fonctions, la maitrise de commandes def et return doit être un objectif en soi.
 
auteur(s) :

Hervé Diet, enseignant au lycée Touchard du Mans (79)

information(s) pédagogique(s)

niveau : tous niveaux, Lycée tous niveaux, 1ère, 2nde, Terminale

type pédagogique :

public visé : non précisé, enseignant

contexte d'usage :

référence aux programmes :

documents complémentaires

Document complémentaire
PDFle document

haut de page

mathématiques - Rectorat de l'Académie de Nantes