Python en mode interactif
🎯 Objectif
Ces travaux pratiques ont pour objectif la découverte du langage Python à travers son mode interactif.
🖥️ 1. Lancement de Linux
Si vous ne disposez pas de l'exécutable Python 3 sur votre ordinateur, lancez l'émulateur Linux comme suit :
- Lancer un navigateur Web
- Vous connecter à l'adresse https://bellard.org/jslinux
- Identifier la version x86 Alpine Linux 3.12.0 Console
- Cliquer sur click here pour lancer l'émulation
⌨️ 2. Le mode interactif de Python
Lancer Python
Le langage Python est généralement installé par défaut sur les systèmes d'exploitation Linux et macOS. Il est disponible depuis l'interpréteur de commande sous forme d'un ou plusieurs executables.
- Lancer un interpréteur de commande Linux
- Saisir
pyet appuyer deux fois sur la touchetabde votre clavier.
L'interpréteur vous affiche toutes les commandes disponibles dont le nom commence par py :
localhost:~# py
pydoc pygmentex python2.7 python3.8
pydoc3 python python3 python3.8-config
pydoc3.8 python2 python3-config pythontex
- Saisir
python --version - Saisir
python3 --version
L'option --version permet de connaître la version de Python fournit par chacun des exécutables.
Python 2 n'étant plus supporté, vous devez veiller à toujours utiliser la version 3.
Nous en sommes aujourd'hui à la version 3.10, mais la version 3.8 reste amplement suffisante dans le cadre de l'apprentissage de la programmation en NSI.
- Lancer python3 et patienter le temps du démarrage de l'application jusqu'à l'apparition de l'affichage ci-dessous
localhost:~# python3
Python 3.8.3 (default, May 15 2020, 01:53:50)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
Vous êtes maintenant dans le mode interactif de Python. Dans ce mode, chaque commande saisie sera immédiatement traitée par l'interpréteur Python qui, selon la saisie, présentera ou non un résultat.
Toutes les commandes saisies dans le cadre de ces travaux pratiques devront se faire en mode interactif Python.
🧮 3. Les nombres relatifs et décimaux
Tester la console
- Saisir le littéral
10et appuyer sur entrée. Qu'observez-vous ? - Saisir l'expression
10 + 10et appuyer sur entrée. Qu'observez-vous ?
>>> 10
10
>>> 10 + 10
20
Explication
Lorsqu'une commande correspond à une expression, l'interpréteur Python l'évalue et affiche sa valeur. Il attend ensuite une nouvelle commande de la part de l'utilisateur.
Trouver les expressions
Traduisez chacune des requêtes suivantes en une expression à soumettre à l'interpréteur interactif :
- Une addition
- Une soustraction
- Une multiplication
- Une division
- Une division euclidienne (ou division entière)
- Un modulo (ou reste de la division)
- Une opération contenant à la fois un entier et un flottant
Répondre aux questions
À l'aide de l'interpréteur Python uniquement, trouver la réponse aux questions suivantes :
- Quelle est la valeur décimale du nombre hexadécimal
7E6 - Quelle est la valeur décimale du nombre binaire
11111100111 - Le nombre
2479939appartient-il à la table de 7 ? - Le nombre
4328361193est-il divisible par 77 ? - Quelle est la valeur de 2 puissance 16 ?
Comprendre les expressions
Python dispose de fonctions mathématiques disponibles en important le module math.
>>> import math
>>>
Après avoir importé le module math, testez les expressions suivantes et tenter de les expliquer à partir du résultat obtenu et en les testant avec d'autres valeurs :
math.sqrt(100)math.piabs(-10)math.sin(math.radians(90))
🔤 4. Les chaînes de caractères
Trouver les expressions
Traduisez chacune des requêtes suivantes en une expression Python à soumettre à l'interpréteur interactif :
- Une chaîne de caractères en utilisant le délimiteur
" - Une chaîne de caractères en utilisant le délimiteur
' - Une chaîne de caractères en utilisant le délimiteur de votre choix et contient à la fois le caractère
'et le caractère" - Une concaténation de deux chaînes de caractères
- Une répétition d'une chaîne de caractères
- Un test d'appartenance d'une chaîne à une autre chaîne
- Un test de non appartenance d'une chaîne à une autre chaîne
Comprendre les expressions
Testez les expressions suivantes et tenter de les expliquer à partir du résultat obtenu et en les testant avec d'autres valeurs :
len('Hello')'Bonjour tout le monde'[:7]'Bonjour tout le monde'[16:]'Bonjour tout le monde'[8:12]'majuscules'.upper()'MINUSCULES'.lower()'Bonjour tout le monde'.replace("Bonjour", "Au revoir")
🫙 5. Les variables
Affecter une valeur à une variable
Saisir l'instruction d'affectation x = 2 dans la console Python. Vous devez obtenir le résultat suivant :
>>> x = 2
>>>
Lorsque nous soumettions une expression à l'interpréteur Python, celui-ci nous présentait la valeur de son évaluation. Selon vous, pourquoi dans le cas présent, Python n'affiche-t-il rien ?
Récupérer la valeur d'une variable
Saisir l'expression x dans la console Python. Vous devriez obtenir le résultat suivant :
>>> x
2
>>>
Selon vous, pourquoi l'interpréteur Python affiche-t-il cette-fois une valeur ?
Anticiper les valeurs
Examinez chaque série de commandes et essayez de prédire leur résultat. Confirmez-les à l'aide de l'interpréteur.
Cas de l'affectation d'une expression
>>> x = 10 ** 2
>>> x
?
Cas de la réutilisation d'une même variable
>>> x = 2
>>> x = (x * 2) ** x
?
Cas de l'utilisation de deux variables
>>> x = 1
>>> x
1
>>> y = 2
>>> x = x + y
>>> y = x ** y
>>> x
?
>>> y
?
Cas d'une opération classique
>>> x = 5
>>> y = 9
>>> x
5
>>> y
9
>>> tmp = x
>>> x = y
>>> y = tmp
>>> x
?
>>> y
?
Que cherchons-nous finalement à faire avec les trois lignes de code ci-dessous ?
tmp = x
x = y
y = tmp
👾 6. Les anomalies
Toutes les commandes ci-après provoquent un comportement inattendu ou une anomalie. À vous de trouver une explication.
Avant de commencer, vous devez partir d'un environnement interactif vierge :
- Quitter le mode interactif à l'aide de la commande
quit() - Relancer à l'aide de la commande
python3
10 / 0x = x + 1false'3' + 3'A' < 65math.sqrt(4)2,5import math
math.cos(math.radians(90))0.1 + 0.2 == 0.3