# Copyright 2026 Caroline Blank <caro@c-space.org>
# SPDX-License-Identifier: CC-BY-NC-SA-4.0
from tdoc import svg
def creation_image(largeur, hauteur, couleur):
global img
img = svg.Image(largeur, hauteur, stroke='black',
style='width: 100%; height: 100%;')
rectangle(0, 0, largeur, hauteur, couleur)
def rectangle(x, y, largeur, hauteur, remplissage, bord="transparent"):
img.rect(x, y, largeur, hauteur, stroke=bord, fill=remplissage)
def triangle(point_1, point_2, point_3, remplissage, bord="transparent"):
img.polygon(point_1, point_2, point_3, stroke=bord, fill=remplissage)
def cercle(centre_x, centre_y, rayon, remplissage, bord="transparent"):
img.circle(centre_x, centre_y, rayon, stroke=bord, fill=remplissage)
def ellipse(centre_x, centre_y, rayon_x, rayon_y, remplissage,
bord="transparent"):
img.ellipse(centre_x, centre_y, rayon_x, rayon_y, stroke=bord,
fill=remplissage)
def ligne(x1, y1, x2, y2, couleur, epaisseur):
img.line(x1, y1, x2, y2, stroke=svg.Stroke(couleur, width=epaisseur))
def texte(x, y, texte, couleur, taille):
font = f"font: bold italic {taille}px serif"
img.text(x, y, texte, stroke='transparent', fill=couleur, style=font)
creation_image(600, 400, "#FFFFFF")
# Copyright 2026 Caroline Blank <caro@c-space.org>
# SPDX-License-Identifier: CC-BY-NC-SA-4.0
from tdoc import svg
def creation_image(largeur, hauteur, couleur):
global img
img = svg.Image(largeur, hauteur, stroke='black',
style='width: 100%; height: 100%;')
rectangle(0, 0, largeur, hauteur, couleur)
def rectangle(x, y, largeur, hauteur, remplissage, bord="transparent"):
img.rect(x, y, largeur, hauteur, stroke=bord, fill=remplissage)
def triangle(point_1, point_2, point_3, remplissage, bord="transparent"):
img.polygon(point_1, point_2, point_3, stroke=bord, fill=remplissage)
def cercle(centre_x, centre_y, rayon, remplissage, bord="transparent"):
img.circle(centre_x, centre_y, rayon, stroke=bord, fill=remplissage)
def ellipse(centre_x, centre_y, rayon_x, rayon_y, remplissage,
bord="transparent"):
img.ellipse(centre_x, centre_y, rayon_x, rayon_y, stroke=bord,
fill=remplissage)
def ligne(x1, y1, x2, y2, couleur, epaisseur):
img.line(x1, y1, x2, y2, stroke=svg.Stroke(couleur, width=epaisseur))
def texte(x, y, texte, couleur, taille):
font = f"font: bold italic {taille}px serif"
img.text(x, y, texte, stroke='transparent', fill=couleur, style=font)
# Affiche l'image
render(img)
Entrées et sorties#
Fonction print()#
La fonction print() permet d'afficher une phrase ou la valeur d'un objet sur
la console.
Exemple 2#
Affichage d'une chaine de caractère. Ce qui se trouve entre guillemets sera affiché tel quel.
1print("Hello world!")Affichage de la valeur d'une variable.
1a = 10 2print(a) 3a += 5 4print(a)
Affichage d'une chaîne de caractère et de la valeur d'une variable. Il faut utiliser une virgule pour séparer les différents éléments.
1prix_choco = 17.20 2print("Le prix de la boîte de chocolat est de", prix_choco, "CHF.")
Exercice 13#
Écrivez un programme qui affiche exactement ce texte:
1# Écrivez le programme ici
Solution
1print("Salut!")
2print("Je suis élève au collège Sainte-Croix.")
3print("J'ai 16 ans.")
4print("J'aime bien jouer au volley.")
Exercice 14#
Sans exécuter le programme ci-dessous, prédisez ce qu'il affichera.
1salutations = "Bonjour" 2print(salutations) 3print("salutations")
Quel est l'impact des guillemets sur le mot
salutations?
Solution
Lorsque le mot
salutationsest écrit sans guillemets, il fait référence à la variable. L'affichage substitue donc la variable par son contenu. Lorsque des guillemets entourentsalutations, alors le mot est considéré comme une chaîne de type caractère et le mot est alors affiché tel quel.
Exercice 15#
Écrivez un programme qui permet d'effectuer les 4 opérations de base (addition, soustraction, multiplication et division) avec les nombres 13 et 2 en affichant le résultat.
Nous aimerions faire de même avec 10 et 3, 8 et 5, ainsi que 15 et 29.
Comment faire pour ne pas tout réécrire à chaque fois?
Notez la réponse par un commentaire dans le code.
1# Écrivez le programme ici
Solution
1print(13 + 2)
2print(13 - 2)
3print(13 * 2)
4print(13 / 2)
5
6# Il faut utiliser des variables.
7a = 13 # changer la valeur de a
8b = 2 # changer la valeur de b
9print(a + b)
10print(a - b)
11print(a * b)
12print(a / b)
Exercice 16#
Écrivez un programme qui permet d'afficher les calculs suivants, ainsi que la réponse:
452.52 + 27.78 =
5.65 * 3.4 =
4 569 - 8 532 =
56 / 3 =
Calculer le quotient de la division entière de 345 par 37.
Calculer le reste de la division de 345 par 37.
1# Écrivez le programme ici
Solution
1print("452.52 + 27.78 = ", 452.52 + 27.78)
2print("5.65 * 3.4 = ", 5.65 * 3.4)
3print("4569 - 8532 = ", 4569 - 8532)
4print("56 / 3 = ", 56 / 3)
5print("Le quotient de la division entière de 345 par 37 est ", 345 // 37)
6print("Le reste de la division de 345 par 37 est ", 345 % 37)
Exercice 17#
Avant de l'exécuter, expliquez en français ce que fait/calcule le programme suivant:
1prix_livre = 9.30 2prix_jeu = 59 3prix_manga = 13.50 4 5print("Montant total des achats de Luc:", 6 2 * prix_livre + 1 * prix_jeu + 3 * prix_manga, "francs.") 7print("Montant total des achats de Juliette:", 8 1 * prix_livre + 2 * prix_jeu + 2 * prix_manga, "francs.")
En période de soldes, les jeux vidéo sont à 50 %, les livres à 5 CHF et les mangas ont 6 CHF de rabais. Écrivez le programme qui correspond à ces changements.
1print("Après réductions") 2# Complétez le programme ici 3 4# définition des variables (prix des articles) 5 6# calcul et affichage des montants à payer
Que se passe-t-il si les prix de base (dans l'éditeur de la partie a) changent? Est-ce que les prix après réductions s'adaptent aussi? Si ce n'est pas le cas, adapter votre programme pour que les prix après réductions soient calculer en fonction des prix de base.
Solution
1# définition des variables (prix des articles)
2prix_livre = 9.30
3prix_jeu = 59
4prix_manga = 13.50
5
6# calcul et affichage des montants à payer
7print("Montant total des achats de Luc:",
8 2 * prix_livre + 1 * prix_jeu + 3 * prix_manga, "francs.")
9print("Montant total des achats de Juliette:",
10 1 * prix_livre + 2 * prix_jeu + 2 * prix_manga, "francs.")
11
12# 2.
13print("Après réductions")
14# définition des variables (prix des articles)
15prix_livre = 5
16prix_jeu = prix_jeu * 50 / 100
17prix_manga = prix_manga - 6
18
19# calcul et affichage des montants à payer
20print("Montant total des achats de Luc avec réductions:",
21 2 * prix_livre + 1 * prix_jeu + 3 * prix_manga, "francs.")
22print("Montant total des achats de Juliette avec réductions:",
23 1 * prix_livre + 2 * prix_jeu + 2 * prix_manga, "francs.")
Fonction input()#
La fonction input(...) donne la main à l'utilisateur et attend que celui-ci
donne une réponse et la valide en appuyant sur Enter.
La valeur saisie doit être obligatoirement affectée à une variable, sinon elle sera perdue.
La valeur rentrée par l'utilisateur est stockée sous forme de
chaîne de caractères (de type str). Pour effectuer des calculs, il faut la
convertir en int (nombre entier) ou en float (nombre à virgule).
nom_variable = input("...")
Exemple 3#
prenom = input("Comment t'appelles-tu?") # prenom est une chaîne de caractères
age = int(input("Quel est ton age?")) # age est un nombre entier
taille = float(input("Quelle est ta taille en mètres?")) # taille est un nombre à virgule
print(prenom, age, taille)
Exercice 18#
Complétez le programme pour demander à l'utilisateur la couleur du carré.
1couleur = 2position_x = 100 3position_y = 50 4cote = 300 5 6rectangle(position_x, position_y, cote, cote, couleur)
Solution
1# définition des variables 2couleur = input("Quelle doit être la couleur du carré?") 3position_x = 100 4position_y = 50 5cote = 300 6 7rectangle(position_x, position_y, cote, cote, couleur)
Complétez le programme pour demander à l'utilisateur le côté du carré.
1cote = 2couleur = "cyan" 3position_x = 100 4position_y = 50 5 6rectangle(position_x, position_y, cote, cote, couleur)
Solution
1# définition des variables 2cote = int(input("Quelle doit être la longueur du côté de carré?")) 3couleur = "cyan" 4position_x = 100 5position_y = 50 6 7rectangle(position_x, position_y, cote, cote, couleur)
Complétez le programme pour demander à l'utilisateur la couleur, le côté et la position (coordonnées x et y) du carré.
1rectangle(position_x, position_y, cote, cote, couleur)Solution
1# définition des variables 2couleur = input("Quelle doit être la couleur du carré?") 3cote = int(input("Quelle doit être la longueur du côté de carré?")) 4position_x = int(input("Quelle doit être la position x du carré?")) 5position_y = int(input("Quelle soit être la position y du carré?")) 6 7rectangle(position_x, position_y, cote, cote, couleur)
Exercice 19#
Écrivez un programme qui demande à l'utilisateur son nom, son prénom et où il habite. Le programme affichera:
Quel est ton nom?
Quel est ton prénom?
Où habites-tu?
Bonjour {afficher le prénom} {afficher le nom}, heureux de faire ta connaissance.
Je vois que tu habites à {afficher le lieu}.
1# Écrivez le programme ici
Solution
1nom = input("Quel est ton nom? ")
2prenom = input("Quel est ton prénom? ")
3lieu = input("Où habites-tu? ")
4print("Bonjour", prenom, nom, ", heureux de faire ta connaissance.")
5print("Je vois que tu habites à", lieu)
Exercice 20#
Le programme ci-dessous contient une erreur par ligne. Trouvez et corrigez-les.
Astuce
Lisez toujours le message d'erreur qui donne différentes informations:
la ligne de l'erreur
où se trouve probablement l'erreur sur la ligne
le type d'erreur
une explication
1print("Bienvenue dans ce nouveau programme!)
2print(nombre_de_pommes = 10)
3print("Vous devez payer" nombre_de_pommes * 1.5 "CHF")
4print(Fin du programme)
Solution
1print("Bienvenue dans ce nouveau programme!")
2nombre_de_pommes = 10
3print("Vous devez payer", nombre_de_pommes * 1.5, "CHF")
4print("Fin du programme")
Exercice 21#
Écrivez un programme permettant de convertir des degrés Fahrenheit en degrés Celsius. Pour une température en Fahrenheit \(F\), on trouve son équivalent en Celsius \(C\) avec la formule :
Par exemple, si l'utilisateur entre la valeur 60.2, alors le programme
affichera:
Température en °F: 60.2
Merci, 60.2 °F équivalent à 15.666666666666668 °C
1# Écrivez le programme ici
Solution
1fahrenheit = float(input("Température en °F: "))
2celsius = (fahrenheit - 32) / 1.8
3print("Merci,", fahrenheit, "°F équivaut à", celsius, "°C")