Back
Close

Recueil d'exercices pour apprendre Python au lycée

M_C
1529.9K views

Liens vers des exercices de base du site Codingame

Vous trouverez ci-dessous une liste d'exercices pour débutants contenant principalement les notions de bases en programmation.

Pour pouvoir y accéder, il faudra se connecter avec un compte (facile à créer si besoin). Il faut ensuire clicker sur "Tester dans l'IDE" pour lancer le jeu.
Sur la gauche se trouve l'énoncé (en anglais majoritairement mais facilement compréhensible avec un minimum d'entrainement).
Sur la droite on peut taper son code directement. Ne pas oublier de selectionner Python 3 comme langage. Pour savoir si notre code est bon, il faut valider tous les tests en appuyant sur le bouton "tous les tests".
La réelle difficulté quand on débute sur ce site est de comprendre comment gérer les inputs : Tous les exercices vont demander de créer un programme qui fait une action en fonction de ce qu'on lui donne en entrée (par exemple on donne une phrase, il faut la renvoyer écrite à l'envers). Chaque fonction input() (qui est déjà marquée de base et sauvegardée dans une variable, il n'y a rien à faire) va correspondre à une des données en entrée qu'on pourra ensuite utiliser pour créer notre programme qui devra afficher (avec print) le ou les résultats attendus.
Si vous avez de difficultés avec l'interface, vous pouvez trouver facilement sur youtube des vidéos explicatives.

Remarque : La plupart des exercices proposés sont des "Clash of Code" du site qui sont en fait des mini tournoi ou 8 codeurs s'affrontent pour résoudre ces exercices en moins de 15 min. Quand vous pensez maitriser assez les bases, c'est une alternative amusante (et un peu stressante) pour progresser. L'avantage est que vous pouvez voir le code des autres en fin de partie ce qui permet de progresser beaucoup plus rapidement.

Présentation du tableau ci-dessous

Ce tableau ne contient que des liens vers des exercices de base. Le numero correspond à la difficulté ou au degré de maitrise de la notion pour pouvoir le réussir. C'est très difficile d'estimer la difficulté ou même les notions utiles pour résoudre un problème car il peut y avoir plusieurs solutions très distinctes. La connaissance de certaines fonctions particulières peuvent par exemple permettre de résoudre le problème en quelques lignes alors que sans il en faudra beaucoup plus. Ce tableau est donc juste une indication des notions qui peuvent être utile.

Voici quelques exemples pour pouvoir juger du niveau de difficulté correspondant aux notions.

Par exemple pour les conditions : le niveau 1 correspond à une utilisation simple des conditions if, elif et else. Le niveau 2 demanderait d'enchainer des conditions à la chaine ou bien utiliserait des conditions un peu complexe.

Dans le même ordre d'idée, pour les boucles for, le niveau 1 correspond à une utilisation simple d'une boucle (avec range ou bien une liste ou une chaine de caractères). Le niveau 2 correspond à un enchainement de boucles for. Le niveau 3 demande une maitrise des boucles for avec par exemple l'utilisation de break et else.

Par exemple pour les chaines de caractères : le niveau 1 correspond à une utilisation basique des chaines (récupérer sa longueur, un caractère, faire une boucle dessus...). Le niveau 2 demanderait un peu plus de maitrise (connaitre les fonctions ord et chr pour le codage décodage par exemple). Le niveau 3 correspond à une bonne maitrise de toutes les fonctions liées aux chaines de caractères.

Pour la colonne "Autre, les notions entre parenthèses sont facultatives mais peuvent simplifier la résolution du problème.

La notion de difficulté étant très subjective, cela ne coute rien d'aller voir des exercices qui peuvent sembler plus compliqués. Des fois une bonne idée permet de contourner la difficulté.

Remarque : Comme les données en entrée sont des chaines de caractères, il vaut mieux maitriser un minimum la transformation en entier (avec la fonction int()) ou bien la transformation en liste (en compréhension ou bien avec la fonction .split()).

Le tableau

Lien vers la contribution CodingameConditionsBoucles forBoucles whileChaines de caractèresListesDictionnairesAutre
Reverse Mode - A square problem000000Entrainement
Pizza Party000000Maths
The Cookie Jar000000Maths
Matrix power000000Numpy
Fuel up100000
Sign of Product100000Maths
Bounds110000
Segment King110000
Odd number of divisors110000
2 High110000
Difference of Squares110000
Binary clock000100Binaire
Decrease000100Conversions
Addition or multiplication ?010100
Alphabet on n010100
System Administrator010100Binaire
Internal rotation (Part I)010100Binaire
Santa's problem110100
Manhattan Maths110100
Safe cracker110100
Sequence of simple inequalities110100
How many vowels?110100
CodinDrink110100
Lazy Lock110100
Reverse exclusive, or not?110100
The longest hill110100
Find the character110100
Same Digitwise Product110100
Numbers Divisible By 3110100
Hills and Valleys110100
Baum-Sweet Sequence110100Binaire
Troll counting101100
Deleting words and characters.111100
Sadaharu Oh000010
Max & Min000010
Fibonacci 2010010
Doubles Trick110010
LR shifting110010
Fibonaccilike110010
Chord Transpose110010
Infinite division101010Division Euclidienne
Number in words.100110
Round and round we go010110
Cascading Words110110
Alphabetic precedence110110
Interior designer110110
Sequence with specific digits110110
Mad-Libs110110
Product of pieces010001
Shopping Cart Price010001
Flip it !010101
Prime Product120000
Sum and product120000(Maths)
Primary indices120100
Progress bar of the song000200
Sum or Diff100200
Integer encoding100200Binaire
Mom's code010200
It's a starry night...010200
Code Breaker010200
Get the square root of a String010200
Inca knots010200
Another base010200Hexadecimal
Unflip the URLs110200
Character Counting (CCCoC)110200
Rename from camelCase to snake_case110200
Help Bob to decrypt messages110200
Reverse mode110200Binaire
Pascal's tangle020010
My Own Prime120010
How many movies to spoil?120010
Matching letters120010
Primonacci120010
Hangman110210
Organize Text110210
O.S.E.R.110020
Minesweeper120020
Happy New Year for 2021120020
Cipher square110120
Find the words110120
Shakespeare in the Park101220
CodinGame emoji system replication000300
Reorder Terms000030(Tri)
Create your playground on Tech.io
This playground was created on Tech.io, our hands-on, knowledge-sharing platform for developers.
Go to tech.io