Voici mon premier programme en Python que vous recopierez dans le logiciel MU editor. C’est une première tâche qui n’est pas si simple, car une simple erreur de frappe pourra compromettre l’exécution du votre premier programme. Premiers bug Python en vue !
D’abord le code
# C'est un programme qui dit salut et te demande ton prénom.
print('Salut la Terre !')
print('Quel est ton prénom')
myName = input()
print('C\'est sympa de te recontrer, ' + myName)
print('La longueur de ton prénom est : ')
print(len(myName))
print('Quel est ton âge ?') # demande son âge
myAge = input()
print('You will be ' + str(int(myAge) + 1) + ' in a year.')
Sauvegardez régulièrement le fichier créé en cliquant sur l’icône approprié. C’est une habitude à prendre. Entre nous, cela est assez rare que l’on perde tout un travail. Sauvegarder à la fin de sa session de codage suffit amplement. Vous pouvez lancer ce programme en clinquant sur l’icône « Lancer ». S’il y a des erreurs, essayez de les corriger en retrouvant la ligne du code qui pose problème en cherchant dans le message d’erreur dans la console en bas.

Le programme se lance un peu par magie, une magie peu spectaculaire, je vous l’accorde.
Un petit site vous montre l’exécution du notre programme initial Python, comme le nôtre, par étape pour se rendre un peu compte de l’ordre dans lequel les instructions sont exécutées, à notre niveau, les unes après les autres : lien.
Commentaire de ce premier programme Python
Si vous testez ce site, vous voyez que les deux premières lignes ne sont pas exécutées. C’est une bonne transition pour aller dans l’eplication du code de ce petit programme.
La première ligne correspond à un commentaire. Cette ligne doit commencer par ‘#’ qu’on appelle croisillon (hash en anglais d’où le fameux hashtag) ou dièse sur le clavier d’un téléphone. Ce commentaire n’est lu que par les programmeurs qui éditent le code, c’est-à-dire les humains. Ils servent à rendre sa lecture plus compréhensible. Cette ligne est donc ignorée lors de l’exécution du programme par l’ordinateur. Le croisillon est également utile pour ne pas exécuter un code pour des raisons diverses.
La deuxième ligne est vide ! Elle n’est pas non plus interprétée par l’ordinateur.
La troisième ligne comprend la fonction print() qui peut comprendre ou non un argument entre les parenthèses. La valeur doit être entre guillemets ou apostrophes pour que la fonction comprenne bien que cela est une chaine de caractères, autrement dit une phrase. Comme en cours de mathématiques, la fonction s’écrit avec des parenthèse comme pour f() ou f(x). Que de souvenirs ! Enfin j’utilise cette partie des mathématiques dans ma vie d’adulte !
Vient ensuite la fonction input() qui permet de rentrer un information comme dans un formulaire à une case. On doit sauvegarder la valeur entrée dans la variable que l’on appelle ici myName (voir chapitre précédents pour ces notions).
À la cinquième ligne, une nouvelle fois, la fonction print() est appelée. Cette fois-ci l’argument entre les parenthèse et un peu spécial. Il faut d’abord repérer le +. Cet opérateur + n’a pas le même résultat sur une chaine de caractères que sur des nombres. Sur des nombres, on fait la somme des nombres de part et d’autre. Avec des caractère, le + correspond à une concaténation. Ce mot, peut-être nouveau pour vous, signifie que l’on colle les deux chaines de caractères, sachant que à droite de + se trouve myName qui contient la chaine de caractère que vous avez rentré au cours de l’exécution du programme. Vous suivez toujours ?
La fonction len() prend comme argument une chaîne de caractère et renvoie comme résultat le nombre de caractère que contient cette chaine sachant qu’un espace est un caractère ou la ponctuation. Vous pouvez tester cette fonction dans le terminal.
À noter qu’on ne mélange pas les slipes et les chaussettes. Soit on utilise le + pour additionner des nombres, soit pour concaténer des chaines de caractères. C’est pour cela qu’à la dernière ligne, il y a cette étrange expression : str(int(myAge) + 1)
.
C’est pas grave si vous ne comprenez pas tout, tout de suite. Je vais quand même essayer d’expliquer cette expression. Tout d’abord, on transforme ce que contient myAge en un nombre entier (integer en anglais) pour pouvoir lui ajouter 1. Et ensuite, pour pouvoir utiliser de nouveau + pour concaténer, on retransforme le résultat en chaîne de caractère avec le fonction str() qui transforme un nombre en une chaîne (string en anglais) de caractère. Vous pouvez maintenant respirer.
Petit aparté concernant la formulation des choses pour les fonctions. On dit que l’on passe (pass en anglais) un argument dans une fonction. Et on dit que les fonctions évaluent (evaluate) les arguments. Mais j’avoue que je n’ai pas très bien compris cette dernière notion d’évaluation (help me avec les commentaires).
J’imagine les pro de ce langange se contentent de lire directement le code source avecc les commentaires pour comprendre un programme. Aucun besoin d’autres explications.
Justification d’un manque d’exhaustivité
Je ne rajoute pas d’informations excessives sur les notions nouvelles comme lorsque l’on rencontre une nouvelle fonction. Premièrement parce que c’est plus rapide et deuxièmement car personnellement je ne les ai pas retenues à ce moment. Sachez néanmoins qu’il y a des subtilités qui ne s’inventent pas. Soit vous les tester si vous en avez l’intuition soit vous l’apprenez au décours d’un tutoriel ou d’une documentation spécifique du langage, ici Python. Par exemple on peut utiliser la fonction int() pour arrondir un nombre réel come 1,6 à l’entier inférieur, donc ici int(1.6) = 1. Autre subtilité que vous apprendrez d’une manière ou d’une autre : input() retournera toujours une chaine de caractère donc un string et pas un nombre même si c’est cela que l’on pense rentrer.
Mon premier programme Python n’a rien d’extraordianire mais cela permet d’y aller progressivement.