cours python gratuit FONCTION print() : LA FONCTION input()

×

Recommandés

Utiliser un Compte d'Exploitation Prévisionnel : Calcul...
Un compte d’exploitation prévisionnel sert à...
En savoir plus
Calcul de la Part de Marché dans...
La part de marché représente la...
En savoir plus
Calculer la Valeur Actuelle Nette (VAN) :...
La valeur actuelle nette VAN mesure,...
En savoir plus
Structure de la Taxe sur la Valeur...
La Taxe sur la Valeur Ajoutée...
En savoir plus
Boucle "for" en Java : Aperçu Complet
Les boucles "for" en Java sont...
En savoir plus
Excel: la fonction SI expliquée par des...
Cours et tutoriel excel / cours...
En savoir plus

C’est le cours python numéro 6 de la série des cours d’initiation à python.

L’ENTRÉE DU CLAVIER


Dans le cours python précédent, nous avons appris à imprimer des chaînes à partir du programme à l’aide de la fonction print(). Nous allons maintenant voir comment saisir des données dans le programme à l’aide du clavier de l’ordinateur.

NUOVO PROGRAMMA input_print.py

Ouvrons un nouveau fichier dans l’éditeur et écrivons :

# # CE PROGRAMME FAIT UN ACCUEIL PERSONNALISÉ
name = input("Comment tu t'appeles? ")
print("Bonjour; salut", name)

En démarrant le programme, nous verrons qu’il nous demandera (au ralenti) « Quel est votre nom? » . Nous tapons notre nom et appuyons sur Entrée. Cela devrait être le résultat (« Comment t’appelles-tu ? » et « Salut Luigi » sont écrits par le programme, tandis que « Luigi » est la réponse de l’utilisateur).

Comment tu t'appeles? Louis
bonjour Luigi

La fonction input () prend une chaîne comme argument facultatif. La fonction imprime l’argument et arrête d’attendre que l’utilisateur tape quelque chose. Lorsque l’utilisateur appuie sur Entrée, la fonction renvoie une chaîne contenant les caractères écrits par l’utilisateur.

La chaîne que nous fournissons comme argument est généralement une invite, c’est-à-dire une question telle que « Entrez un numéro » ou « Comment vous appelez-vous ? ». On peut l’omettre, mais dans ce cas le programme s’arrêtera sans rien écrire, désorientant probablement l’utilisateur. La valeur renvoyée par input() est généralement stockée dans une variable.

Maintenant, il devrait être facile de comprendre ce que fait le programme : l’entrée () affiche l’invite « Comment t’appelles-tu ? » Puis s’arrête et attend que nous tapions notre nom et que nous appuyions sur Entrée. Ce que nous avons écrit est affecté au nom de la variable, qui est ensuite imprimé dans l’instruction suivante. Notez que l’entrée () ne revient pas à la ligne et ne laisse aucun espace après l’impression de l’invite, vous devez donc insérer un espace à la fin de la chaîne pour séparer la question de la réponse.

LES FONCTIONS INT() ET float()


Nous réitérons que la fonction input () renvoie une chaîne contenant les caractères que nous avons saisis. Il est facile de faire des erreurs conceptuelles comme celle-ci :

NEW PROGRAM matrimoniale_quadrato.py

Ouvrons un nouveau fichier dans l’éditeur et écrivons :

a = input ("Ecrire un nombre")
print ("Double de", a, "est", 2 * a)
print ("Le carré de", a, "est", a ** 2)

Essayons de lancer le programme et lorsque vous y êtes invité, nous tapons, par exemple, 5. Que se passe-t-il ? Horreur : le premier print() écrit que le double de 5 est 55, tandis que le second plante même le programme provoquant une TypeError !

Ce comportement peut s’expliquer si l’on repense au fait qu’à chaque variable est associé un type de données : dans la première instruction on affecte à a non pas le chiffre 5 mais la chaîne « 5 » (c’est-à-dire une chaîne qui contient le caractère 5 ). Ainsi, dans la deuxième instruction, lorsque Python trouve l’expression 2 * a, il ne multiplie pas deux nombres, mais multiplie un nombre par une chaîne (résultant en la concaténation « 55 »). Enfin, dans la troisième instruction, vous obtenez une erreur car il n’est pas possible de mettre une chaîne au carré.

Pour pallier ces situations, il existe des fonctions de conversion spécifiques :

Les fonctions int () et float () prennent un argument de n’importe quel type et renvoient un entier ou un flottant obtenu à partir des données de départ.

Pour le moment, nous nous intéressons principalement à la conversion des chaînes en nombres : ainsi, par exemple, « 10 » est une chaîne composée des deux caractères 1 et 0, tandis que int (« 10 ») convertit la chaîne en l’entier 10. C’est la chaîne qui doit être interprétable comme un nombre (entier ou flottant), sinon nous aurons une erreur.

Pour donner quelques exemples d’utilisation de ces fonctions, il est préférable d’écrire en IDLE (afin d’avoir une réponse immédiate sans avoir besoin de lancer un programme)

>>> a = "10"
>>> b = "20"
>>> a + b
'1020'
>>> int(a) + int(b)
30
>>> c = "3.14"
>>> float(c)
3.14
>>> int(c)
Traceback (most recent call last):
  File "<pyshell#8>", line 1, in <module>
    int(c)
ValueError: invalid literal for int() with base 10: '3.14'
>>> c = "mamma"
>>> int(c)
Traceback (most recent call last):
  File "<pyshell#10>", line 1, in <module>
    int(c)
ValueError: invalid literal for int() with base 10: 'mamma'

Commentons ce que nous avons écrit : nous avons d’abord attribué les deux chaînes « 10 » et « 20 » à a et b ; la première fois, en faisant l’addition on obtient 1020, c’est leur concaténation. La deuxième fois à la place, nous ajoutons les valeurs entières obtenues à partir des chaînes et en fait le résultat est 30. Ensuite, nous essayons de convertir la chaîne « 3.14 » en un nombre flottant et le résultat est correct. Si à la place nous essayons de le convertir en entier, nous obtenons une erreur car Python trouve le point décimal. De même, si nous essayons de convertir la chaîne « mom » en un entier

Notez la subtilité : nous n’obtenons pas de TypeError (c’est-à-dire une erreur dans le type de données) car il est parfaitement légal d’appeler int() avec une chaîne (c’est-à-dire « mom ») comme argument. Au lieu de cela, nous obtenons un nouveau type d’erreur ValueError (erreur dans la valeur de l’argument) car la fonction comprend que la chaîne que nous lui avons donnée est impossible à convertir.

Revenons donc à notre programme double_square.py et modifions la première ligne comme suit :

a = float(input("Ecrire un nombre"))

(attention aux deux parenthèses fermantes !) Donc tout fonctionne, car float() transforme la chaîne retournée par input() en un nombre, qui est affecté à a. Le seul problème est que nous devrons faire attention au type de nombre vers lequel nous voulons convertir la valeur : int ou float. Généralement, si nous devons accepter à la fois des entiers et des virgules, il est préférable d’utiliser float () qui fonctionne dans les deux cas. Si par contre on veut explicitement un entier, on peut utiliser int() qui, comme on l’a vu, provoque une erreur si on écrit un nombre avec un point décimal.

Prenons un autre exemple.

NOUVEAU PROGRAMME : metri_feet.py

print("CONVERSION MÈTRES - PIEDS")
m = float(input("Entrez les compteurs "))
ft = m / 0.3048
print(m, "m =", ft, "ft")

À présent, le fonctionnement du programme devrait être clair pour vous. En le prenant comme modèle, nous pouvons faire de nombreux exercices similaires :

Recommandés

Série d'Exercices Corrigés en Gestion de Patrimoine
Ces exercices couvrent divers aspects de...
En savoir plus
Faire une segmentation RFM précise dans Excel
La segmentation RFM (Récence, Fréquence, Montant)...
En savoir plus
Boîtes de dialogue : Alert, Confirm, et...
Cet article explore chacun des types...
En savoir plus
Méthodes setInterval() et setTimeout() en JavaScript :...
En JavaScript, les méthodes setInterval() et...
En savoir plus
Guide : Différence entre calloc et malloc...
Lorsque vous travaillez en langage C,...
En savoir plus
cours word 2019 | cours numéro 22...
Dans ce cours word 2019, nous...
En savoir plus
AZ

Recent Posts

Méthodologie SVT : réussir l’analyse de document en SVT

Télécharger une fiche méthode pratique et utile ⬇️ L’analyse de document en SVT fait partie…

1 heure ago

Méthode des points de vue narratifs en 4ème

Introduction En classe de 4ème, l’étude du récit occupe une place importante dans l’apprentissage du…

14 heures ago

Classification des Documents : Organiser et Automatiser la Gestion Documentaire

Dans toute organisation moderne — entreprise, association, service administratif ou bureau de projet — la…

3 jours ago

Modèle de Bilan Actif Passif sur Excel : Concevoir un tableau comptable clair et automatisé

Dans la pratique comptable, le bilan constitue l’un des documents les plus fondamentaux pour comprendre…

3 jours ago

Fiche Méthode analyse linéaire + guide complet pour la réussir

L’analyse linéaire impressionne souvent plus qu’elle ne le devrait. Au moment d’aborder l’oral du bac…

4 jours ago

Analyse linéaire au bac français : méthode complète, exemples et conseils pour réussir l’oral

L’analyse linéaire occupe une place centrale à l’oral du bac français. C’est l’exercice qui permet…

4 jours ago

This website uses cookies.