Aller au contenu

Exercices – Prise en main de IDLE

  1. Ouvrez l’application IDLE sur votre ordinateur.
  2. Vous devriez voir une fenêtre intitulée Python 3.x.x Shell avec un message de bienvenue semblable à ceci :
Python 3.12.x (tags/v3.12.x:..., ...)
[GCC ...] on linux
Type "help", "copyright", "credits" or "license()" for more information.
>>>

a) Quelle version de Python est affichée ?

b) Que représente le symbole >>> ?

c) Tapez 2 + 3 et appuyez sur Entrée. Que se passe-t-il ?

🔑 Voir la solution

a) La version dépend de votre installation (ex. : 3.12.4). Le numéro important est le premier chiffre : 3, qui confirme que vous utilisez Python 3.

b) Le >>> est l’invite de commande (prompt) du shell Python. Il indique que Python est prêt à recevoir une instruction.

c) IDLE affiche immédiatement le résultat :

>>> 2 + 3
5

Tapez chacune des expressions suivantes dans le shell et notez le résultat avant d’appuyer sur Entrée. Vérifiez ensuite votre prédiction.

>>> 10 - 3 * 2
>>> (10 - 3) * 2
>>> 2 ** 10
>>> 17 / 5
>>> 17 // 5
>>> 17 % 5
🔑 Voir la solution
ExpressionRésultatExplication
10 - 3 * 24Multiplication avant soustraction : 10 - 6
(10 - 3) * 214Les parenthèses forcent la soustraction d’abord : 7 * 2
2 ** 101024Exponentiation : 2 à la puissance 10
17 / 53.4Division réelle (retourne un float)
17 // 53Division entière (partie entière du quotient)
17 % 52Modulo (reste de la division : 17 = 5 × 3 + 2)

Tapez les deux instructions suivantes, une à la fois :

>>> 5 + 3
>>> print(5 + 3)

a) Quelle différence voyez-vous dans l’affichage ?

Maintenant, tapez :

>>> "Bonjour"
>>> print("Bonjour")

b) Quelle différence voyez-vous cette fois-ci ?

c) Pourquoi est-ce important ?

🔑 Voir la solution

a) Les deux affichent 8. Dans le shell, le résultat semble identique pour les nombres.

b) C’est ici que la différence apparaît :

>>> "Bonjour"
'Bonjour' # avec les guillemets
>>> print("Bonjour")
Bonjour # sans les guillemets

Sans print(), le shell affiche la représentation de la valeur (avec guillemets pour les chaînes). Avec print(), il affiche la valeur telle qu’un humain la lirait.

c) Dans le shell interactif, les résultats s’affichent automatiquement. Mais dans un script (fichier .py), seul print() produit un affichage. Il faut donc prendre l’habitude d’utiliser print() pour afficher des résultats.


Tapez les instructions suivantes une par une :

>>> nom = "Ada"
>>> age = 25
>>> nom
>>> age
>>> print(nom, "a", age, "ans")

a) Que se passe-t-il après avoir tapé nom = "Ada" ? Le shell affiche-t-il quelque chose ?

b) Que se passe-t-il quand on tape simplement nom ?

c) Que se passe-t-il quand on tape print(nom, "a", age, "ans") ?

🔑 Voir la solution

a) Rien ne s’affiche ! Une affectation (=) ne produit pas de résultat visible. Python stocke la valeur en mémoire silencieusement.

b) Le shell affiche 'Ada' (avec guillemets). Taper le nom d’une variable dans le shell affiche sa représentation.

c) Le shell affiche :

Ada a 25 ans

La fonction print() affiche les valeurs séparées par un espace, sans guillemets.


Tapez chacune des instructions suivantes et observez le message d’erreur. Ne corrigez pas encore, lisez d’abord le message.

>>> print("Bonjour)
>>> 10 / 0
>>> nom_inconnu
>>> 5 + "3"

Pour chaque erreur, identifiez :

  • a) Le type d’erreur (le mot avant les deux-points dans le message)
  • b) La cause probable
🔑 Voir la solution

1. print("Bonjour)SyntaxError: unterminated string literal

  • Le guillemet fermant " est manquant. Python ne sait pas où la chaîne se termine.

2. 10 / 0ZeroDivisionError: division by zero

  • La division par zéro est mathématiquement impossible.

3. nom_inconnuNameError: name ‘nom_inconnu’ is not defined

  • La variable nom_inconnu n’a jamais été créée. Python ne la connaît pas.

4. 5 + "3"TypeError: unsupported operand type(s) for +: ‘int’ and ‘str’

  • On ne peut pas additionner un entier (int) et une chaîne (str). Il faut convertir : 5 + int("3") ou str(5) + "3".

IDLE offre des raccourcis pour gagner du temps.

  1. Tapez resultat = 2 ** 16 dans le shell.
  2. Appuyez sur Entrée.
  3. Maintenant, appuyez sur Alt + P (ou ⌥ Option + P sur macOS).
  4. Appuyez plusieurs fois pour remonter dans l’historique.
  5. Essayez Alt + N (ou ⌥ Option + N) pour redescendre.

a) Que font ces raccourcis ?

b) Tapez res puis appuyez sur Tab. Que se passe-t-il ?

🔑 Voir la solution

a)

  • Alt + P : rappelle la commande précédente (P = Previous)
  • Alt + N : passe à la commande suivante (N = Next)

C’est l’équivalent des flèches ↑ et ↓ dans un terminal classique.

b) IDLE propose une complétion automatique : si une seule variable commence par res, elle complète en resultat. Si plusieurs choix existent, une liste de suggestions apparaît.


Jusqu’ici, vous avez tapé des commandes une par une dans le shell. Vous allez maintenant écrire un script (un fichier contenant plusieurs instructions).

  1. Dans IDLE, cliquez sur File → New File (ou Ctrl + N).

  2. Une nouvelle fenêtre s’ouvre : c’est l’éditeur de scripts.

  3. Tapez le programme suivant dans l’éditeur (pas dans le shell !) :

    nom = "Marie"
    age = 20
    print(nom, "a", age, "ans.")
  4. Enregistrez le fichier : File → Save (ou Ctrl + S). Nommez-le exercice_2_1.py.

  5. Exécutez le script : Run → Run Module (ou F5).

a) Où s’affiche le résultat ?

b) Que se passe-t-il si vous retirez print() et écrivez seulement nom sur la dernière ligne ?

🔑 Voir la solution

a) Le résultat s’affiche dans la fenêtre du shell. Le shell affiche d’abord = RESTART: .../exercice_2_1.py = puis le résultat :

Marie a 20 ans.

b) Rien ne s’affiche ! Contrairement au shell interactif, un script n’affiche rien automatiquement. Il faut obligatoirement utiliser print().


  1. Dans le shell, tapez :
    >>> x = 42
    >>> x
  2. Maintenant, ouvrez l’éditeur, créez un fichier exercice_2_2.py avec :
    print(x)
  3. Exécutez le script avec F5.

a) Que se passe-t-il ?

b) Pourquoi ?

🔑 Voir la solution

a) Vous obtenez une erreur :

NameError: name 'x' is not defined

b) Chaque fois que vous exécutez un script avec F5, IDLE effectue un RESTART du shell. Cela efface toutes les variables créées précédemment dans le shell. Le script part d’un état vierge.

Le message = RESTART: ... = dans le shell confirme ce redémarrage.


Créez un fichier exercice_2_3.py avec le contenu suivant et exécutez-le :

# Ce programme calcule l'aire d'un rectangle
# Auteur : votre nom
# Date : aujourd'hui
longueur = 12 # en mètres
largeur = 5 # en mètres
aire = longueur * largeur
print("Dimensions :", longueur, "m x", largeur, "m")
print("Aire :", aire, "")

a) Que sont les lignes qui commencent par # ?

b) Si vous changez le commentaire # en mètres par # en pieds, le résultat change-t-il ?

c) Quelle est la couleur des commentaires dans IDLE ?

🔑 Voir la solution

a) Ce sont des commentaires. Python les ignore complètement lors de l’exécution. Ils servent à expliquer le code aux humains.

b) Non. Les commentaires n’ont aucun effet sur l’exécution. Changer le texte d’un commentaire ne modifie pas le comportement du programme.

c) Les commentaires sont en rouge dans IDLE.


Créez un fichier exercice_2_4.py avec le code suivant :

prenom = input("Quel est votre prénom ? ")
print("Bonjour", prenom, "!")

a) Exécutez le script. Que se passe-t-il dans le shell ?

b) Tapez votre prénom et appuyez sur Entrée. Que s’affiche-t-il ?

c) Maintenant, essayez ce programme :

nombre = input("Entrez un nombre : ")
double = nombre * 2
print("Le double est :", double)

Entrez 5. Le résultat est-il celui attendu ? Pourquoi ?

🔑 Voir la solution

a) Le shell affiche Quel est votre prénom ? et attend que vous tapiez quelque chose. Le programme est en pause.

b) Si vous tapez Ada, le shell affiche :

Bonjour Ada !

c) Si vous entrez 5, le résultat est 55 et non 10 !

La fonction input() retourne toujours une chaîne de caractères (str), même si l’utilisateur tape un nombre. Donc nombre contient "5" (une chaîne), et "5" * 2 répète la chaîne deux fois → "55".

Correction :

nombre = int(input("Entrez un nombre : "))
double = nombre * 2
print("Le double est :", double)

Le shell IDLE donne accès à la documentation de Python.

Tapez les commandes suivantes dans le shell, une par une :

>>> help(print)
>>> help(int)
>>> help(len)

a) Que fait la fonction help() ?

b) Tapez dir(__builtins__) dans le shell. Que voyez-vous ?

c) Parmi les noms affichés, repérez abs. Tapez help(abs) puis testez :

>>> abs(-7)
>>> abs(3.5)
🔑 Voir la solution

a) help() affiche la documentation d’une fonction, d’un type ou d’un module. C’est l’équivalent d’un manuel d’aide intégré directement dans Python.

b) dir(__builtins__) affiche la liste de toutes les fonctions et constantes prédéfinies de Python (les built-ins) : print, input, int, float, str, len, abs, max, min, range, type, etc.

c) abs() retourne la valeur absolue d’un nombre :

>>> abs(-7)
7
>>> abs(3.5)
3.5