Apprendre Python - input et print (f-string et formatage)

Dans cette leçon vidéo, l’auteur explique comment rendre un programme Python interactif grâce aux fonctions d’entrée et de sortie. Il commence par présenter les concepts généraux d’entrées (clavier, souris) et de sorties (écran, imprimante), puis se concentre sur les fonctions Python : `input()` qui affiche un message, attend la saisie de l’utilisateur et renvoie toujours une chaîne de caractères, et `print()` qui affiche du texte à l’écran. Le tutoriel montre que, lorsqu’on veut effectuer des calculs avec des valeurs saisies, il faut convertir les chaînes en nombres (`int` ou `float`) pour que l’opérateur `+` réalise une addition plutôt qu’une concaténation. Il détaille le comportement par défaut de `print()` (séparateur espace, saut de ligne) et comment le personnaliser avec les paramètres `sep` et `end`, ainsi que l’utilisation des caractères d’échappement pour gérer les guillemets, les apostrophes et les séquences spéciales (`\n`, `\t`). Ensuite, il introduit deux méthodes de formatage de chaînes : les f‑strings (préfixe `f` et accolades) et la méthode `str.format()`, en expliquant la syntaxe, le placement des accolades, l’ordre des paramètres, les indices positionnels et les options avancées. Le formateur montre comment ces techniques permettent d’afficher proprement des expressions comme « 2 + 3 = 5 », d’éviter les erreurs de séparateurs multiples et d’obtenir un rendu plus lisible. Enfin, il rappelle que les mêmes principes de formatage s’appliquent aux appels de `input()`. La vidéo se conclut par un remerciement et une invitation à la prochaine leçon.
Chapters
Bonjour à tous et bienvenue dans cette nouvelle leçon sur le langage de programmation Python. Aujourd'hui, nous allons voir les entrées et les sorties. Pour qu'un programme informatique soit interactif, il faut qu'il puisse communiquer avec l'utilisateur à travers les entrées et les sorties de l'ordinateur. Le clavier, la souris ou la caméra constituent des entrées, alors que l'écran ou l'imprimante représentent des sorties. Cependant, les entrées/sorties les plus basiques sont le clavier et l'écran. Autrement dit, l'utilisateur saisit ce qu'il souhaite passer au programme en utilisant le clavier, et le programme affiche le résultat d'exécution à l'écran. En Python, on utilise les fonctions input et print pour implémenter l'entrée et la sortie. La fonction input effectue 2 tâches à la fois. Elle affiche d'abord un message à l'écran afin d'inviter l'utilisateur à mener une action, comme par exemple saisir son nom ou rentrer les opérandes d'une opération. Ensuite, elle récupère la valeur saisie afin de l'affecter à une variable ou l'inclure dans une opération. Donc, on peut penser que la fonction Input implémente aussi la sortie, puisqu'elle affiche un message à l'écran, mais sa fonction principale c'est récupérer ce qui a été saisi au clavier par l'utilisateur, donc c'est surtout une fonction d'entrée. Prenons cette instruction: Nom= Input . Dans ce cas, le message Veuillez saisir votre nom sera affiché à l'écran et le programme attendra que l'utilisateur saisisse quelque chose puis valide en appuyant sur Entrée. En attendant, le programme reste bloqué au niveau de cette instruction et ne poursuit son exécution que si une entrée a été validée. Si une entrée est validée, alors la valeur saisie par l'utilisateur est affectée à la variable Nom. Maintenant, imaginez qu'on veut effectuer l'opération d'addition de 2 nombres A et B. Dans la première instruction, on affecte la valeur spécifiée par l'utilisateur à la variable A après l'avoir invitée à saisir un nombre à travers la chaîne de caractères spécifiée dans la fonction Input On fait la même chose pour la variable b. Ensuite, on affecte le résultat d'addition à la variable c que l'on affiche juste après à l'aide de la fonction print que l'on traitera aussi dans cette vidéo. On constate que le résultat affiché ne correspond pas à l'addition, mais à la concaténation des 2 valeurs. En effet, la fonction input renvoie une chaîne de caractères même si ce qui a été saisi est supposé être un nombre. Si on évalue le type de la variable a à l'aide de la fonction type, nous allons constater qu'il s'agit d'une chaîne de caractères. Par conséquent, l'opérateur+ est un opérateur de concaténation et non pas d'addition. Si on souhaite exécuter l'addition, alors il faut convertir le type des variables A et B en nombre, donc soit en entier ou réel, à travers le cast ou le transtypage comme ceci. Dans ce cas, les entrées de l'utilisateur ont été converties en entier, ce qui signifie que l'opérateur+ cette fois est un opérateur d'addition. La fonction Print est la fonction principale qui implémente la sortie. Elle a pour rôle d'afficher un message à l'écran. En général, la fonction Print affiche le résultat d'un traitement, comme la division de 2 nombres ou une notification, si par exemple le dénominateur saisi par l'utilisateur est nul. Dans l'exemple précédent, l'instruction Print c affiche le résultat d'addition, mais on peut améliorer l'affichage en écrivant par exemple: Le résultat de l'addition vaut 5. Si on suppose que A vaut 2 et B vaut 3, alors la fonction Print ressemblera à ceci. Il y a quelques points qu'il faut clarifier dans cette instruction. Tout d'abord, C est une variable qu'on cherche à remplacer par sa valeur au moment de l'affichage. Donc si on la mettait entre les doubles quotes de la chaîne de caractères, on aura le message: Le résultat de l'addition vaut C. En effet, C sera vue comme une partie de la chaîne de caractères et sera affichée telle qu'elle est. Pour que la variable c soit évaluée et remplacée par sa valeur, alors il faut la faire sortir des doubles quotes, mais il faut aussi ajouter une virgule entre les deux morceaux de la chaîne, qu'on appelle séparateur. Le deuxième point concerne les doubles quotes, que l'on peut remplacer par des simples quotes puisque les deux font la même chose. Cependant, le caractère apostrophe qui figure dans la phrase utilise le même symbole que les simples quotes qui délimitent la chaîne, ce qui cause une erreur, car l'interpréteur prendra l'apostrophe pour la simple quote de fin de notre chaîne. Mais le texte qui la suit ne correspond pas à une syntaxe Python valide. Donc, en cas de présence de symboles qui peuvent faire place à la confusion, il faut les échapper à l'aide du symbole antislash. Cette opération est appelée échappement ou dés spécialisation des caractères spéciaux, car en effet, l'apostrophe est vu comme un caractère spécial dans une chaîne délimitée par les simples quotes, et le guillemet double est vu comme un caractère spécial si la chaîne est délimitée par les doubles quotes. Le troisième point concerne la variable c, que l'on peut exclure du programme et la remplacer dans la chaîne de caractères par l'opération d'addition comme ceci. Maintenant, imaginez que l'on veut carrément afficher 2+ 3= 5. Dans ce cas, on aura encore affaire au séparateur virgule, mais il figurera cette fois plusieurs fois dans notre chaîne de caractères comme ceci. En effet, les expressions a, b et a+ b sont à évaluer et remplacer par l'interpréteur, donc elles doivent être placées en dehors des délimiteurs de la chaîne de caractères, les doubles quotes dans ce cas, alors que les symboles+ et= sont à afficher tels qu'ils sont, c'est pour ça qu'ils ont été placés entre les doubles quotes, et bien sûr, il faut à chaque fois mettre le séparateur virgule quand on passe d'un morceau de la chaîne à un autre. Notez que la présence de plusieurs séparateurs dans la fonction print peut parfois induire en erreur, car on peut facilement oublier un guillemet ou une virgule. Mais une solution existe pour résoudre ce problème, et on va la voir dans quelques instants. Vous constatez qu'au moment de l'affichage, un espace a été placé entre 2 et+, et entre+ et 3, etc. En effet, l'espace est le caractère de séparation appliqué par défaut en Python, c'est-à-dire qu'au moment de l'affichage, le séparateur virgule est remplacé automatiquement par un espace. Néanmoins, on peut spécifier un caractère de séparation différent. Il suffit d'ajouter à la fin de la fonction print le paramètre sep précédé par une virgule, et comme valeur vous mettez ce que vous voulez. Par exemple, si on met Sep= le caractère souligné, alors au moment de l'affichage le séparateur est remplacé par ce caractère-là. Pareil, si on spécifie une chaîne vide en guise de valeur de paramètre Sep, alors dans ce cas aucun espace ni séparation ne sera appliqué. Une dernière chose avant de passer à la section suivante. Imaginez que l'on veut aussi afficher le résultat de la multiplication. Alors on va encore ajouter la fonction Print comme ceci. Vous constatez qu'au moment de l'affichage, chaque opération est placée dans une ligne à part, et c'est normal, car par défaut la fonction Print engendre un saut de ligne après son exécution. Notez qu'en informatique, le saut de ligne est représenté par le symbole antislash n qui fait aussi partie des caractères d'échappement comme antislash t pour la tabulation, etc. Pour dire à l'interpréteur qu'on ne veut pas sauter de ligne après l'exécution de la fonction Print, on ajoute un autre paramètre, cette fois nommé end dont la valeur par défaut vaut \n, mais nous allons plutôt spécifier un caractère ou suite de caractères que l'on souhaite, comme par exemple une tabulation à l'aide du symbole \t et qui insère généralement 4 espaces d'un seul coup. Bien entendu, on peut combiner les paramètres sep et end en même temps. Il faut juste placer une virgule avant chacun d'entre eux. Pour régler le problème des séparateurs multiples dans la fonction print et qui peuvent être source d'erreurs, il est possible de formater sa chaîne de caractères en Python de 2 manières différentes: les f-strings ou la fonction format. Reprenons la fonction print qui affiche la somme des 2 nombres. Cette fois, nous allons mettre toute notre chaîne entre 2 doubles quotes ou simples quotes seulement. Ensuite, nous allons préfixer notre chaîne par le caractère f, d'où le nom f-string. Maintenant, les variables ou les expressions que l'on souhaite évaluer, nous allons tout simplement les placer entre des accolades et le tour est joué. Désormais, tout ce qui est placé entre accolades est évalué par l'interpréteur et tout ce qui est en dehors des accolades est affiché tel qu'il est. Il est possible que la forme finale de la chaîne vous paraisse un peu longue en raison de la présence de multiples accolades, mais cette écriture présente un grand avantage comparée à l'écriture avec des virgules de séparation. Vous aurez l'occasion de juger à cela par vous-même en écrivant vos propres programmes. Il existe une technique de formatage de chaînes de caractères autre que les f-strings. Il s'agit de l'utilisation de la fonction format. Reprenons encore notre fonction print qui affiche la somme. Cette fois, nous allons retirer le préfixe f du f-string et nous allons vider nos accolades. Cela veut dire que ces accolades seront remplacées par des valeurs. Ces valeurs-là seront spécifiées dans l'ordre dans la fonction format que l'on place à la fin de notre print, précédée par un point. Notez que dans le jargon Python, la fonction format est plutôt appelée une méthode, mais nous aurons l'occasion de voir cela en détail plus loin dans ce cours. La fonction format contient 3 paramètres qui sont dans ce cas, les variables a, b et leur somme. Ces paramètres sont séparés par une virgule et placés dans l'ordre de l'affichage souhaité. Autrement dit, si on souhaite changer l'ordre, on va juste placer des numéros commençant de 0 dans nos accolades. 0 fait référence au premier paramètre de format, 1 le deuxième paramètre, etc. Par exemple, si on veut permuter l'affichage des variables a et b, alors on placera les numéros appelés aussi indices dans les accolades comme ceci. En fait, le numéro 1 fait référence à la variable b, 0 indique la variable a, et 2 indique l'expression a+ b. J'aimerais signaler que la fonction format supporte plusieurs autres options, comme les paramètres nommés et même la précision d'affichage des nombres réels, etc. Mais par souci de temps consacré à cette vidéo, je vais me contenter de ça pour le moment et on verra ces options-là dans des futures vidéos selon le besoin. Encore une chose, les f-strings et la méthode format s'appliquent de la même façon à la fonction input qu'on a vue au début de cette vidéo. J'estime que vous savez comment les utiliser. Merci pour votre attention et à la vidéo prochaine.
More from Yamossoun

Algorithme de calcule de la racine carrée par dichotomie #dichotomy #squareroot #algorithm









