Exercices
Exercice 1
Ecrire un programme qui simule le lancer de 1000 dés et qui affiche la moyenne des résultats obtenus.
from random import *
somme = 0
for i in range(1000):
dé = randint(1,6)
somme = somme + dé
moyenne = somme / 1000
print("La moyenne des 1000 lancers est",moyenne)
Exercice 2
Ecrire un programme qui demande à l'utilisateur un entier a et un entier n et qui calcule \(a^n\) à l'aide d'une boucle for
(on verra plus tard un algorithme plus rapide que celui-ci).
Remarque : il est interdit d'utiliser **
ici!
a = int(input("Veuillez saisir la valeurs de a (la base) : "))
n = int(input("Veuillez saisir la valeur de n (l'exponsant) : "))
puissance = 1
for i in range(n):
puissance = puissance * a
print(a,"puissance",n,"est égal à",puissance)
Exercice 3
Ecrire une fonction aire
qui prend deux paramètres : la longueur d'un rectangle et sa largeur, et qui renvoie l'aire du rectangle correpondant.
Tester ensuite cette fonction en utilisant les deux assert()
suivants.
assert(aire(5,3) == 15)
assert(aire(1,2) == 2)
def aire(longueur,largeur):
return longueur * largeur
Exercice 4
Ecrire une fonction rectangle()
qui prend trois paramètres : le nombre de lignes, le nombre de colonnes et un caractère à afficher.
Cette fonction devra afficher un rectangle .
Par exemple l'appel rectangle(2,5,'A')
devra afficher :
AAAAA
AAAAA
Tester ensuite votre fonction avec divers appels.
rectangle(2,5,'A') # appel en respectant l'ordre des paramètres
print() # ligne vide séparatrice
rectangle(caractère = 'K',nbLignes = 3,nbColonnes = 10) # appel sans respecter l'ordre des paramètres
Remarque : En Python, il est possible de ne pas respecter l'ordre des paramètres d'une fonction lors de son appel. Dans ce cas, il faut préciser le rôle des paramètres comme par exemple : rectangle( nbColonnes = 4, caractère = '+', nbLignes = 7)
def rectangle(nbLignes,nbColonnes,caractère):
for ligne in range(nbLignes):
for colonne in range(nbColonnes):
print(caractère,end="")
print()
Exercice 5
Ecrire une fonction nbSecondes()
qui prend trois paramètres : un nombre d'heures, un nombre de minutes et un nombre de secondes (par exemple (3,47,5) pour 3 heures 47 minutes 5 secondes) et qui renvoie le nombre total de secondes correspondant.
Indiquer la valeur 0 comme valeur par défaut pour le nombre d'heures, le nombre de minutes et le nombres de secondes.
Tester ensuite cette fonction avec zéro, un, deux et trois paramètres.
def nbSecondes(heures = 0, minutes = 0, secondes = 0):
return heures * 3600 + minutes * 60 + secondes
print(nbSecondes())
print(nbSecondes(2))
print(nbSecondes(0,30))
print(nbSecondes(1,30,12))
Exercice 6
Ecrire une fonction bissextile(année)
qui renvoie True
si le paramètre correspond à une année bissextile et qui renvoie False
sinon.
Votre fonction ne doit utiliser ni des conditions imbriquées ni else
ni des opérateurs booléens.
remarque : vous pouvez effectuer une recherche sur la façon de calculer une année bissextile.
def bissextile(année):
if année % 400 == 0:
return True
if année % 100 == 0:
return False
if année % 4 == 0:
return True
return False
print(bissextile(2021))
print(bissextile(2020))
print(bissextile(2000))
print(bissextile(1900))
Dessiner avec Turtle
La bibliothèque turtle permet de dessiner à l'écran.
Le petit programme commenté ci-dessous permet d'obtenir un tracé intéressant :
from turtle import * # On importe la bibliothèque turtle
speed(10) # On règle la vitesse du tracé (un entier compris entre 1 et 10)
color('red', 'yellow') # On fixe la couleur du tracé à 'rouge' et la couleur de rempissage à 'jaune'
begin_fill()
for i in range(36):
forward(200) # La tortue avance de 200 pixels
left(170) # La tortue tourne vers la gauche de 170°
end_fill()
done() # Il faut terminer par done() pour lancer l'exécution du tracé
Voici quelques fonctionnalités de turtle :
Fonction | Description |
---|---|
forward(x) | Déplace la tortue de x pixels en marche avant. |
backward(x) | Déplace la tortue de x pixels en marche arrière. |
left(x) | Fait pivoter la tortue d'un angle de x degrés vers la gauche. |
right(x) | Fait pivoter la tortue d'un angle de x degrés vers la droite. |
goto(x,y) | Déplace la tortue au point de corrdonnées (x,y). Attention, l'axe des y est orienté vers le haut de l'écran comme en mathématiques! |
penup() | Lève le crayon (la tortue arrêtera de tracer). |
pendown() | Abaisse le crayon. La tortue se remettra à tracer. |
hideturtle() | Cache la tortue. |
showturtle() | Fait réapparaitre la tortue. |
speed(n) | Règle la vitesse du tracé. n est un entier compris entre 0 et 10. 1 correspond à une vitesse lente, 10 correspond à une vitesse rapide. 0 permet d'obtenir un tracé instantané. |
done() | Lance l'exécution du tracé. |
circle(r) | Trace un cercle de rayon r. On peut ajouter une deuxième paramètre facultatif a si on souhaite tracer seulement tracer un arc de cercle d'angle a. |
color(couleur1,couleur2) | Définir la couleur du tracé (couleur1) et la couleur de remplissage (couleur2). |
width(n) | Règle l'épaisseur du trait à n pixels. |
Exercice 7
Ecrire un programme qui utilise une boucle for
pour tracer un carré de côté 100 pixels, avec un contour bleu et colorié en vert.
from turtle import *
color('blue', 'green')
begin_fill()
for i in range(4):
forward(100)
left(90)
end_fill()
done()
Exercice 8
Ecrire un programme qui trace 10 cercles dont les rayons sont 10, 20, 30, ..., 100.
Choisir une couleur de tracé et une couleur de remplissage.
from turtle import *
color('red', 'pink')
speed(10)
begin_fill()
for i in range(1,11):
circle(10*i)
end_fill()
done()
Exercice 9
Dessiner le drapeau de la France avec Turtle.
from turtle import *
color('black', 'blue')
begin_fill()
for i in range(2):
forward(100)
left(90)
forward(200)
left(90)
end_fill()
forward(100)
color('black', 'white')
begin_fill()
for i in range(2):
forward(100)
left(90)
forward(200)
left(90)
end_fill()
forward(100)
color('black', 'red')
begin_fill()
for i in range(2):
forward(100)
left(90)
forward(200)
left(90)
end_fill()
forward(100)
done()