Page 2

Pour découvrir Python, utilisons le comme une calculatrice

La programmation est l'art de commander un ordinateur de manière à ce qu'il fasse exactement ce que l'on veut. Python compte parmi les langages qu'il est capable de comprendre pour recevoir vos ordres. Nous allons essayer cela tout de suite avec des ordres très simples concernant des nombres, puisque ce sont les nombres qui constituent son matériau de prédilection. Nous allons lui fournir nos premières « instructions », et préciser au passage la définition de quelques termes essentiels du vocabulaire informatique, que vous rencontrerez constamment dans la suite.

Python présente la particularité de pouvoir être utilisé de plusieurs manières différentes.

Dans un premier temps, vous allez d'abord l'utiliser en mode interactif, c'est-à-dire d'une manière telle que vous pourrez dialoguer avec lui directement depuis le clavier. Pour cela on utilisera IDLE. Cela vous permettra de découvrir très vite un grand nombre de fonctionnalités du langage. Mais, dès que l'on voudra faire des choses un peu compliquées ce mode interactif ne sera pas recommandé. C'est pour cela que, dans un deuxième temps, nous utiliserons, l'éditeur Spyder. Vous apprendrez à créer vos premiers programmes (scripts) et à les sauvegarder pour pouvoir les réutiliser.

Utilisation de IDLE (Environnement de Développement Intégré de Python)

Le plus simple pour exécuter des instructions Python est d'utiliser l'environnement spécialisé IDLE de Portable Python (ou de WinPython...). Cet environnement se compose d'une fenêtre appelée indifféremment console, shell, interpréteur ou terminal Python.

Dans le dossier WinPython, ouvrez le fichier IDLE.

L'utilisation est très simple. L'invite de commande se compose de trois chevrons. Il suffit de saisir à la suite une instruction puis d'appuyer sur la touche « Entrée » de votre clavier.

Comme il est de tradition dans l'apprentissage d'un langage informatique, commençons par l'affichage d'un salutation.
Pour cela, on va commencer par saisir ...

print('Bonjour !')

... puis taper sur la touche "Entrée" du clavier. Nous obtenons ceci.

Shell

On peut, par exemple, utiliser l'interpréteur comme une simple calculatrice de bureau. Vous pouvez, par exemple tester les commandes ci-dessous.

>>> 5+3 
>>> 7 + 3 * 4      # la règle de priorité est-elle respectée ? 
>>> (7+3)*4
>>>1+6/2
>>>2**3
>>>20 / 3
>>> 20 // 3
>>>20 % 3
>>> 20.5 / 3 
>>> 8,7 / 5
>>>59*100//60

Remarques :

  1. Pour naviguer dans l'historique des instructions saisies dans la console Python, on peut utiliser les raccourcis Alt+p (p comme previous) et Alt+n (n comme next)
  2. le symbole # placé à gauche d'une ligne permet d'écrire un commentaire qui ne sera pas lu par l'interpréteur.
  3. Les règles de priorités sont les mêmes qu'en mathématiques. Si deux opérateurs ont la même priorité, l'évaluation est effectuée de gauche à droite (voir le dernier exemple).
  4. On remarquera au passage que les conventions mathématiques de base sont celles qui sont en vigueur dans les pays anglophones : le séparateur décimal y est donc toujours un point, et non une virgule comme en France. D'où l'erreur apparue dans l'avant dernière instruction. Cette règle est la même dans tous les langages de programmation.
  5. Sous Python 3, l'opérateur de division / effectue une division réelle. Si vous souhaitez obtenir une division entière (le quotient de la division euclidienne), vous devez utiliser l'opérateur //.
    >>> x=20//3
    >>> type(x)
    < class 'int' >
    >>> x=20/3
    >>> type(x)
    < class 'float' >
    
    On notera qu'en informatique, les nombres réels sont souvent désignés comme des nombres « à virgule flottante » (floating point numbers).
  6. L'opérateur % (modulo) , permet d'obtenir le reste de la division euclidienne.

Attention aux calculs avec les nombres décimaux :


Figure 1

Figure 2

Dans la série de calculs de gauche, tout se passe bien.
Par contre, à droite, les calculs de 0,1+0,2 et de 0,1+0,1+0,1 ne donnent pas des résultats satisfaisants.
Pour obtenir des explications : explications




Page 2