✅ Aide⚓︎

Le site propose des exercices de programmation en Python écrits, relus et discutés par des professeurs d'informatique.

La majorité des exercices sont construits sur le même modèle :

  • un énoncé qui décrit le problème à résoudre ;

  • des exemples permettant d'illustrer ce qui est attendu et certains cas particuliers ;

  • un éditeur permettant de saisir l'exercice. Dans certains cas plusieurs versions de l'exercice sont proposées à l'aide de panneaux coulissants (par exemple ici).


L'éditeur⚓︎

L'éditeur comporte trois zones (dépliez le bloc ci-dessous pour voir un exemple):

  • une zone de saisie (partie supérieure);

  • un terminal (partie centrale, vide initialement);

  • des boutons (en bas).

Un éditeur

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Tronquer ou non le feedback dans les terminaux (sortie standard & stacktrace / relancer le code pour appliquer)
Si activé, le texte copié dans le terminal est joint sur une seule ligne avant d'être copié dans le presse-papier
Évaluations restantes : 5/5

.128013(lbsSet.ph;rdf1uma"ov+g,_/R3=in k:)y q2IPc030h0a0b0m0y06080F0K060m08080x0n0b0y0d0n020A03080k0l0l0m0g0E02090o060k0#0o0z0F000m0l0d0f0F0v0a0.0g0G0k0a08030u0+0-0/0;0)0d02031j1c1m0u1j0)0h0y0p0T0V0X0Z0e0y0r0e061A0e0b0'030O07060a1v0W0Y0n1z1B1D1B0b1J1L1H0b0g1k0b0e0T0@080d0m0z0Z0H0n1N1x0n0i0Q0a0z0 0a1H1)1+1:1P1?1L1_0l1{02040F0J0g0o0d0o080y0`0|0M1'0g0g0a0K2g1c1}0z1k0u1$2s1Z1#1!1I0h1 0Z1D0z1^2d1H1s1u0U1O2C0y2E0z0o2I1H0d2l1k2q2s2W0*1*0|2K1;2P0g0.060'0j2p2!0(2Z1~2$1P2'2)0'0H2-1+2s2T0a2s2I2v0h1#2A2=0Z0K2Q250L1t1k2~2V2.2{2r03380M3f2;1w1P0B0'0M0i3h020F2:2#3o0Z0z0i0'080o0-0a3u3x2B0n0%02053I2q3K0z0'0m3P2!3K3M0s3u3w3Q360n3S02073V3n2L3L0'0D0C3u0A0F3@3#3W3%3q022l0b0k0g0z3!3J3%3(3U1d2.3_3,1;0o0'0q433$3z3'0'3*482|0)0u3k2 1n2U1c311c0b334w2y2t0m1K4r0u311i3m3y3-2l0l0t0i0m0B0a0t0e0w0'1416181a0F3;4m3i1p2/1j0I060F1a0b0F2c0X0y4D0F2i0b4-0a0g0F0V0F3E0^2g0c1n2/4F0N0P0R02.

Tests publics⚓︎

Vous devez compléter le code dans la zone de saisie. Les assertions constituent les tests publics. Il reprennent le plus souvent les exemples de l'énoncé.

Une ligne du type assert somme(10, 32) == 42 vérifie que la fonction somme renvoie bien 42 lorsqu'on lui propose 10 et 32 comme arguments.

Vous pouvez vérifier que votre fonction passe ces tests publics en cliquant sur le bouton Exécuter .

Rédiger une fonction qui passe les tests publics est la première étape de résolution d'un exercice mais ce n'est pas la seule. Votre fonction doit aussi passer les tests privés.

Tests privés⚓︎

Une fois les tests publics passés, vous pouvez passer les tests privés en cliquant sur le bouton Valider .

Ceux-ci sont plus nombreux et, comme leur nom l'indique, ne vous sont pas connus. Seul leur résultat vous est indiqué avec, parfois, un commentaire sur la donnée ayant mis en défaut votre code.

L'exercice est considéré comme résolu et le corrigé et les commentaires sont affichés lorsque les tests privés sont passés.

Dans la plupart des exercices, un compteur permet de suivre vos essais. Ce compteur est décrémenté à chaque fois que vous cliquez sur le bouton Valider effectuant les tests privés. Lorsqu'il atteint 0, la solution de l'exercice vous est proposée.

Autres boutons⚓︎

Il est aussi possible de :

  • : télécharger le contenu de l'éditeur si vous souhaitez le conserver ou travailler en local ;

  • : téléverser un fichier Python dans l'éditeur afin de rapatrier votre travail local ;

  • : recharger l'éditeur dans son état initial ;

  • : sauvegarder le contenu de l'éditeur dans la mémoire de votre navigateur ;


Aspects techniques⚓︎

Il est important de comprendre que le site n'exécute pas réellement du code Python : celui-ci est traduit en Javascript et c'est le code Javascript qui est exécuté par le navigateur. Pas d'inquiétude toutefois, la traduction est, dans la quasi-totalité des cas, strictement équivalente à la version initiale.

L'exécution par le navigateur a toutefois quelques incidences. En effet, si un exercice comporte plusieurs éditeurs, ceux-ci partagent tous le même espace de nom. Ce qui est tapé dans l'un est accessible dans les autres (exactement comme pour les différentes cellules d'un carnet Jupyter).