Comment utiliser la fonction input() pour créer des variables python de types différents

Nous avons vu précédemment comment créer des variables en dure dans le programme, il suffit de donner un nom à la variable puis de lui affecter une valeur. Dans certaines applications, le programme a besoin d’interagir avec l’utilisateur

Considérant par exemple un programme interactif qui demande le prénom de l’utilisateur, puis affiche Bonjour suivi du prénom de l’utilisateur. Pour pouvoir ce faire, on va utiliser la fonction input(). Voici le programme qui permet de faire cela :

  • prenom = input(« Quel est votre prénom ? « )
  • print(« Bonjour », prenom)

Les fonction float() et int()

Par défaut la fonction input() renvoie une valeur de type chaine de caractère (string), il n’est donc pas possible de l’utiliser dans un calcul mathématique telle quelle, il faudra au préalable la convertir en un type compatible avec les calculs mathématiques, soit un nombre entier de (type int) ou un nombre réel (type float). Pour convertir une variable de type string en une variable de type integer ou float, on utilise soit la fonction int() ou bien la fonction float().

Voici une application qui nécessite un changement de type pour la réaliser. Écrire un programme qui calcule la surface d’un carré de côté a, l’utilisateur peut choisir le côté qu’il veut, le programme prend la valeur entrée par l’utilisateur, puis l’utilise pour calculer la surface. Voici le programme qui permet de faire cela :

  • a = float(input(« Entrer la valeur a du côté : « ))
  • s = a**2
  • print(« la surface est : « , s)

Comme on peut le voir, avant d’affecter la valeur entrée par l’utilisateur à la variable a, on la convertit en nombre réel avec la fonction float()

Dans ce cas-là, la fonction int() marcherait aussi, mais il faut savoir que si l’utilisateur entre un nombre décimal à virgule, cette fonction renvoie une erreur qui dit que la valeur est invalide. Il faut donc être vigilant lorsqu’on veut utiliser int().

Erreur de type

Calculs mathématiques

Lorsqu’on fait de la programmation, on cherche à résoudre des problèmes, plus ou moins faciles, on est souvent amené à utiliser des calculs mathématiques. Pas forcément des calculs compliqués, mais généralement des calculs qui nécessitent la connaissance de l’ordre de priorité des opérations mathématiques

Alors pour rappel, il existe 4 opérations pour faire des calculs (addition, soustraction, multiplication et division). A ces quatre opérations on ajouter le calcul de puissance (appelé aussi l’exponentiation). Voici l’ordre de priorité des opérations :

  1. En premier il faut toujours commencer par calculer ce qu’il y a entre les parenthèses
  2. Ensuite, il faut faire le calcul des puissances (exponentiation)
  3. Puis, enchaîner par les multiplications et les divisions
  4. Et enfin, terminer par les additions et les soustractions

Méthode mnémotechnique pour la priorité des opérations

Il existe une méthode qui permet de retenir facilement cet ordre de priorité, c’est PEMDAS. Pour parenthèse, exponentiation, multiplication, division, adition et soustraction.

Si sur une même ligne de calcul il n’y a que des opérations qu’ils ont le même ordre de priorité, la règle est de faire le calcul de gauche vers la droite.

Quand on utilise des calculs dans un code, python utilise l’ordre de priorité opératoire cité ci-dessous. Et attribue au résultat un type qui lui correspond le mieux.

Parmi les forces que l’on peut attribuer à la programmation avec le langage python est le fait qu’il soit intuitif. On a vu que les opérations de calcul se font selon les règles mathématiques. En plus de cela, les lignes de code sont exécutées selon leurs position dans le programme. C’est-à-dire ligne après l’autre, tant que les lignes ne sont pas à l’intérieur d’un bloc de test conditionnel ou de boucle de répétition. Ces deux notions sont très importantes dans la programmation informatique, je les développerai dans un prochain article.

N’hésitez pas de commenter l’article ou de me poser vos questions.

Si vous avez aimé l'article vous êtes libre de le partager :)

Laisser un commentaire