Recueil d'exercices pour apprendre Python au lycée
Mini Défis
Cette page regroupe des exercices qui demandent un peu plus de reflexion (mathématique) que les exercices des pages précédentes avant de se lancer dans la programmation. Ils nécessitent un niveau collège ou seconde maximum.
Exercice n° : Paires de chaussettes
Difficulté : Très Facile
Origine :
Hackerrank
Baptiste cherche des chaussettes pour aller à une soirée. Son tiroir est plein de chaussettes, chaque paire est de couleur différente. Pour choisir une chaussette, il met sa main dans le tiroir et ne voit la couleur de la chaussette qu'une fois qu'il l'a sortie du tiroir.
Dans le pire des cas, combien doit-il prendre de chaussettes dans son tiroir pour être sûr d'avoir une paire de la même couleur ?
Entrée : Le nombre n de chaussettes dans le tiroir.
Sortir : Le nombre de chaussettes que Baptiste doit sortir dans le pire des cas du tiroir être sûr d'avoir une paire de la même couleur.
Exercice n° : Nombre de bises au nouvel an
Difficulté informatique : Très facile
Difficulté mathématique : Facile
Des amis passent le soir du reveillon du nouvel an ensemble. A minuit, chacun embrasse (en faisant deux bises) tous les autres invités.
Combien y a-t-il eu de bises échangées pas les invités pour ce nouvel an ?
Entrée : Le nombre n d'invités.
Sortie : Le nombre de bises échangées pour ce nouvel an.
Indications :
On pourra considérer le nombre de bises que doit faire chaque personne puis remarquer qu'en comptant ainsi, on a compté plusieurs fois les mêmes bises.
Exercice n° : Bases armées
Difficulté informatique : Très facile
Difficulté mathématique : Moyenne
Notion : Division euclidienne
Origine :
Hackerrank
Luke est dans ses pensées pendant un cours de maths. Sur un papier quadrillé de n lignes et m colonnes, il imagine que chaque case est une base armée. Il veut envoyer des fournitures à ses bases à des points stratégiques, en marquant chaque point en rouge. Si une base contient au moins un colis de fourniture dedans ou sur un de ses bords, on qu'onsidère qu'il y a accès. Par exemple :
Etant donnés n et m, érire une fonction qui renvoit le nombre minimum de colis que Luke doit envoyer pour fournir toutes ses bases.
Exercice n° : Découpe de morceaux de papier
Difficulté informatique: Très facile
Difficulté mathématique : Moyenne
Origine :
Hackerrank
Marie veut découper un morceau de papier de dimmension en morceau de papier de dimension selon les règles suivantes :
-
Elle ne peut couper qu'un morceau de papier à la fois, c'est à dire qu'elle ne peut pas placer des papiers déjà découpés les uns sur les autres ou d'affilée. Elle ne peut pas non plus les plier avant de les découper.
-
Elle découpe en ligne droite horizonthalement ou bien verticalement uniquement.
Voici un exemple montrant les trois seules découpes possibles dans ce cas :
Etant donnés n et m, trouver et renvoyer (avec return
) le nombre minimum de découpe que Marie peut faire pour découper le papier en carré unité.
Entrée : Les dimensions entières n et m du morceau de papier au départ.
Sortie : Le nombre minimum de découpe nécessaire pour n'obtenir plus que des petits carrés de dimensions
Indication :
On pourra remarquer que chaque coup de ciseau rajoute un au nombre de morceaux de papier qu'on a ...
Exercice n° : Symétrie centrale
Difficulté : Très facile
Notions : Symétrie centrale, Vecteurs
Origine :
Hackerrank
A partir de deux points P et Q, on peut créer un troisième point R symétrique de P par rapport à Q comme sur la figure ci-dessous :
Le but de cet exercice est de créer un programme qui prend en entrée les coordonnées de P et Q et affiche les coordonnées de R.
Entrée : Les coordonnées x_p, y_p, x_q et y_q de P et Q.
Sortie : Les coordonnées du symétrique R de P par rapport à Q. On affichera les résultats d'affilée, simplement séparés d'un espace. Pour cela, on utilisera simplement la syntaxe
print(x,y)
Exercice n° : Carreaux mouvants
Difficulté informatique : Facile
Difficulté mathématique : Moyenne
Notions : Vecteurs, vitesse
Origine :
Hackerrank
On considère deux carreaux carrés de côté L, initialement tous les deux placés de manière à avoir leur coin inférieur gauche sur l'origine du repère et leurs cotés parallèles aux axes.
A t=0, les deux carreaux commencent à bouger sur la ligne y=x (pour x et y positifs) avec une vitesse et .
Pour une valeur q donnée, afficher la valeur du temps t pour lequel l'aire de l'intersection des deux carreaux est égale à q.
Entrée : Les valeurs de L, V1, V2 et q.
Sortie : La valeur de t cherchée.
Exercice n° : Triangle de hauteur minimum
Difficulté : Facile
Notion : Aire d'un triangle
Origine :
Hackerrank
Etant donnés deux entiers a et b, écrire un programme qui donne la plus petite valeur de h telle que le triangle de base b et de hauteur h ait une aire plus grande que a.
Entrée : Des entiers a et b correspondant respectivement à la valeur de l'aire à dépasser et la longueur de la base du triangle.
Sortie : La plus petite valeur de h cherchée, affichée avec
Monnaie syldave
Difficulté : difficile
Notions utilisées : Condition, boucle
Audrey passe ses vacances en Syldavie. Dans ce pays, les pièces de monnaie n'ont plus cours, et il n'existe que trois sortes de billets de banque, qui valent respectivement 57, 62 et 72 couronnes.
Hier, Audrey a acheté des croissants à la boulangerie, qui lui ont coûté k couronnes. Elle a donné un certain nombre de billets, d'un montant inférieur à 600 couronnes. Dans le cas où le vendeur a pu lui rendre la monnaie exacte de son achat, quelle somme Audrey a-t-elle donnée au vendeur? (S'il y en a plusieurs, on donnera la plus petite).
Entrée : La somme k payée par Audrey.
Sortie : La somme la plus petite donnée par Audrey pour que le vendeur puisse lui rendre la monnaie. On affichera "Impossible" si le vendeur ne pouvait pas rendre la monnaie.
Exercice n° : Passage des coordonnées cartésiennes à polaires
Difficulté : Moyen à difficile
Notion utilisée : Condition
Le but de cet exercice est de créer un programme qui reçoit les coordonnées cartésiennes et les transforme en coordonnées polaires. On pourra trouver plus d'informations sur les coordonnées polaires par exemple ici : Wikipédia
Entre autre, voici une des façons d'obtenir les valeurs de et :
Entrée : Les coordonnées cartésiennes x et y.
Sortie : Les coordonnées polaires correspondantes r et arrondies à 3 chiffres après la virgule.