Conversion de type

Contexte

Il est courant que les données numériques soient lues comme des chaines de caractères. Sans traitement, elles ne sont donc pas éligibles aux fonctions arithmétiques et statistiques élémentaires : sum(), statistics.mean(), …

Il faut alors effectuer une conversion vers le type numérique adapté lorsque c’est pertinent et ne rien faire si la donnée est effectivement une chaîne de caractères.

Environnement de travail

Pour cet exercice, vous devez utiliser en priorité le fichier squelette ex11-conversion.py. IMPORTANT : Enregistrez le avec Right Click + Save Link As... pour conserver l’encodage.

Selon la convention de structuration des modules, ce fichier sera structuré en quatre parties :

  1. Imports et définition des variables globales ;
  2. Définition des fonctions secondaires ;
  3. Définition de la fonction principale ;
  4. Appel protégé de la fonction principale.

Objectifs

L’objectif est d’écrire une fonction parse() :

- qui prend en argument une chaine de caractère ;
- et retourne un nombre décimal, un entier ou une chaine de caractère selon son contenu.

Vérifier le bon fonctionnement de la fonction en effectuant un appel depuis main() et en affichant la valeur de retour (les doctests de la fonction donnent des exemples d’appel et les valeurs de retour correspondantes).

Informations complémentaires

Le paradigme EAFP est une alternative au traditionnel LBYL et sera mis en oeuvre pour cette opération de conversion.

On s’interrogera sur l’ordonnancement des constructions try à mettre en oeuvre. Du général au particulier ? Du particulier au général ?

Doctests

Une fois la fonction opérationnelle pour quelques arguments, ET SEULEMENT DANS CE CAS, lancer les doctests dans un terminal.