Support interactif de la séance

Notebook associé

Le notebook constitue le support principal de cette séance. Il permet de lire les explications, modifier le code et exécuter les cellules pas à pas.

Première utilisation d’un notebook ?
Consultez le mode d’emploi Jupyter.

Une nouvelle limite de notre application

Notre application sait maintenant recevoir des informations de l’utilisateur et préparer les données textuelles avant de les afficher.

Mais certaines informations ne sont pas destinées à rester du texte.

C’est par exemple le cas :

  • d’une année ;
  • d’une note ;
  • d’un prix ;
  • d’une quantité ;
  • d’un nombre de pages.

Or nous avons observé que input() renvoie toujours une chaîne de caractères.

Du texte qui ressemble à un nombre

Considérons une année saisie par l’utilisateur :

annee = input("Année : ")

Si l’utilisateur saisit :

2020

la variable annee contient pourtant une chaîne de caractères.

Cela devient un problème dès que nous souhaitons effectuer un calcul.

age = 2026 - annee

Python ne peut pas directement soustraire du texte à un nombre.

Le problème à résoudre

Question de départ. Comment transformer les informations numériques saisies par l’utilisateur afin de pouvoir effectuer des calculs avec elles ?

Nous devrons donc apprendre à distinguer plusieurs types de données et à convertir certaines saisies avant de les utiliser.

Votre mission

Dans le notebook, vous allez progressivement améliorer notre application afin qu’elle puisse réellement exploiter des informations numériques.

Vous apprendrez notamment à :

  • distinguer un entier, un nombre décimal et une chaîne de caractères ;
  • convertir une saisie utilisateur dans le type approprié ;
  • effectuer des calculs ;
  • utiliser différents opérateurs arithmétiques ;
  • mettre à jour une valeur ;
  • présenter proprement un résultat numérique.

Ces outils seront ensuite réinvestis dans l’application fil rouge.

Et si le nombre est incorrect ?

Transformer une saisie en nombre permettra à notre application de l’utiliser dans des calculs.

Mais cela ne signifie pas que la valeur obtenue est nécessairement acceptable.

Par exemple, Python peut parfaitement représenter la valeur :

note = 8.0

Pourtant, si notre application attend une note comprise entre 0 et 5, cette valeur pose problème.

Nous rencontrerons donc bientôt une nouvelle question : comment permettre au programme de décider si une valeur doit être acceptée ou refusée ?

À retenir

  • Une saisie obtenue avec input() est une chaîne de caractères.
  • Une donnée qui ressemble à un nombre n’est pas nécessairement une donnée numérique.
  • Le type d’une donnée détermine les opérations que l’on peut effectuer avec elle.
  • Certaines saisies devront donc être converties avant d’être utilisées dans des calculs.