Alien Python - Boucle while

Pour les questions suivantes, dessinez le parcours de l'alien en cliquant sur la case d'arrivée de chaque instruction exécutée. Vous pourrez ensuite valider votre parcours pour vérifier s'il est correct.

Autres fonctions !

Trois autres fonctions permettent de situer l'alien dans la grille :

  • case() renvoie la case sur laquelle se trouve l'alien, de "A01" à "O15" ;
  • ligne() renvoie la ligne de la case sur laquelle se trouve l'alien, de "A" à "O" ;
  • colonne() renvoie la colonne de la case sur laquelle se trouve l'alien, "01" à "15".
Consignes

Dans cet exercice, on trouve deux types de questions :

  • Dessinez le parcours : dessinez le parcours de l'alien en cliquant sur la case d'arrivée de chaque instruction exécutée. Vous pourrez ensuite valider votre parcours pour vérifier s'il est correct.

  • Codez le parcours : écrire le code nécessaire pour obtenir le déplacement souhaité (les numéros correspondent aux différentes étapes).

Attention

En fonction de la question, il y aura une limitation du nombre de lignes.

Boucle conditionnelle

Une boucle conditionnelle, permet de répéter plusieurs fois une séquence d'instructions, en fonction d'une condition évaluée avant chaque répétition de cette séquence.

À chaque étape, les instructions indentées sont répétées ⚠ Ne pas oublier de modifier ce qui est évalué dans la condition, sous peine d'avoir une boucle infinie. Dans ce cas le programme tourne sans fin.

Script Python
n = 0
while n < 4:
    haut()
    n = n + 1
Script Python
while colonne() > '02':
    gauche()

Boucle while – boucle for

Ces deux boucles sont équivalentes :

Script Python
n = 0
while n < 4:
    haut()
    n = n + 1
Script Python
for n in range(4):
    haut()
Question 1 : Dessinez le parcours
Script Python
1
2
3
4
5
6
7
bas()
n = 0
while n < 4:
    gauche()
    haut()
    n = n + 1
droite()

Dessinez le parcours

L'image est en train de se charger

Question 2 : Dessinez le parcours
Script Python
1
2
3
4
haut()
while colonne() > "02":
    gauche()
bas()

Dessinez le parcours

L'image est en train de se charger

Question 3 : Dessinez le parcours
Script Python
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
bas()
gauche()
n = 0
while n < 4:
    gauche()
    haut()
    n = n + 1
droite()
droite()
while n < 7:
    droite()
    bas()
    n = n + 1

Dessinez le parcours

L'image est en train de se charger

Question 4 : Dessinez le parcours
Script Python
1
2
3
4
5
6
7
pas = 1
while colonne() > "03" :
    bas(pas)
    droite(pas)
    haut(pas + 1)
    gauche(pas + 1)
    pas = pas + 2

Dessinez le parcours

L'image est en train de se charger



Pour les deux questions suivantes écrire le code nécessaire pour obtenir le déplacement souhaité (les numéros correspondent aux différentes étapes), en respectant les conditions suivantes :

  1. Le nombre de lignes de code est limité (9 pour la question 5 et 10 pour la question 6).
  2. Les fonctions bas, haut, droite et gauche doivent toujours être appelées sans argument, ici.
  3. Les boucles for sont interdites.


Question 5 : Codez le parcours

Figure attendue

Votre tracé sera ici

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Entrer ou sortir du mode "deux colonnes"
(Alt+: ; Ctrl pour inverser les colonnes)
Entrer ou sortir du mode "plein écran"
(Esc)
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)wv+/7:yo5eait=08U6fr1ScpP;dh2n43kg(b suml050C0l0o0m0n0Q0N0M0y0Q0m0N0N0p010o0n0z010406050N0O0P0P0m0v0i040x0j0Q0O0+0j0F050f0=0@0_0{0:0z04051b141e0f1b0:0C0n0d0Z0#0%0)0D0n0J0D0Q1s0D0o0.050U0L0Q0l1n0$0(011r1t1v1t0o1B1D1z0o0v1c0o0D1F1p010u0W0l0F0m0P0l010Z0~0N0z0m0F0)0E1z1-1/1W1H1Z1D1$1(0.0a0M0A0v0j0z0j0N0n110F0M0S1+0v0v0l0y29141@0F1c0f1U2m1R1T1S1A0C1_0)1v0F1#261z1k1m0!1G2w0n2y0F0j2C1z0z2f1c2k2m2Q0;1.2a2E1X2J0v0^0Q0.0w2j2U0/2T1^2W1H2Y2!0.0E2(1/2*2k2v012/0m2#040H2?2l0:2_2-0)2|2~0G312^2U2`370.0k3a333c352{0j2Z2}0.0t3h2+2V1o2.3m2:040g3r343u363w3o040r3a1f2O142C2p0C1T2u3k0y2K1)1c3M1d3K2S152)053S0S2P3j3C2{0.0L0$3I3B2F010-040K0b3a0M3|3}3~3 40403s2`0y0w0.030M0s2y0M0N0~100n120M250%0n1C0l3A3*3=0F0.133!2@0M433k0j0.0p3{4x3+0P0n0.0q4o2,3+0I0.0c1r1D4C3;2X4s4R4p1X4z04020Q0o0B4V4K3=4F0.304u2l4D3=3@0h3h3~4:4T043.0N3:4W1H3@3_4@3}4_2.3-3/4.3)4)1X513`59064^4S56040C23284n59550)5d533|5q3,044t2Q4w5i0)4Y4B595A4 364U5F5v4Y0e4(3t4*4G042%5f5v4r040D0m104~5b500.525U0f3%0l2m2N5-3L1l3N2p2s2n0m4m2m3M0:0f0S0U0W0N04.

Tracé du parcours (le vôtre à gauche, la solution à droite)

Le parcours de votre code et la solution attendue s'afficheront ici

Question 6 : Codez le parcours

Il faudra utiliser au moins deux boucles conditionnelles.

Figure attendue

Votre tracé sera ici

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Entrer ou sortir du mode "deux colonnes"
(Alt+: ; Ctrl pour inverser les colonnes)
Entrer ou sortir du mode "plein écran"
(Esc)
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)w!v/7:yo5eait=K089U6fr1ScpPdh2n43kgI(b suml050D0l0o0m0n0S0P0O0A0S0m0P0P0p010o0n0B010406050P0Q0R0R0m0x0i040z0j0S0Q0-0j0G050f0@0_0{0}0=0B04051d161g0f1d0=0D0n0e0#0%0)0+0E0n0K0E0S1u0E0o0:050W0N0S0l1p0(0*011t1v1x1v0o1D1F1B0o0x1e0o0E1H1r010w0Y0l0G0m0R0l010#100P0B0m0G0+0F1B1/1;1Y1J1#1F1(1*0:0a0O0C0x0j0B0j0P0n130G0O0U1-0x0x0l0A2b161_0G1e0f1W2o1T1V1U1C0D1{0+1x0G1%281B1m1o0$1I2y0n2A0G0j2E1B0B2h1e2m2o2S0?1:2c2G1Z2L0x0`0S0:0O0y2l2W0;2V1`2Y1J2!2$2(0F2+1;2-2m2x012=0m2%040O0I2_2n0=2|2:0+2 310O0H352{2W2}3b2(0k3f373h392~0j2#302(0v3m2.2X1q2;3r2?320g3w383z3a3B3t320s3F3o3H3q3s3c0t3N2/3P3j040y0r3f1h2Q162E2r0D1V2w3p0A2M1+1e3)1f3%2U172,053/0U2R3O2H2~0:0N0(3#3G410/040M0b3f0O4e4f4g4h4i4i3x2}0A0y0:030O0u2A0O0P10120n140O270)0n1E0l3U3y410J0:0c1t1F4d4l3p0G0:3/0S142A46401Z494b4O471Z0j0:0d0p4$4Y1J0P1@04010y0I014X3V480:0h3m4g4P3W0:0D252a4F3`2`514|4a4c58365a1Z4J044L1$4-4{2Z0:1N4W5e3 5n1J4!5d2S0O5g1J4)044+5m4H1Z4:0:010q4_5s5A0+494~5s06504%2;43455N5V5P0:4#5S5O015i5k4N5s5z5!42044T4V572U5:5w5F2}5C5E5.5)5I4=0r0v5M5_4.5#045R2S5T4f5)4R040K0m0Q0A0E5^3{5`5$5x2,3n5u0+5+4M6n2`5/685;5q6y2n5)5{605:5~4,6I6B62010L666o6B5Q4 6e5:6g0E6j0o4`5G5v6q4G3i53550o6E5t6%695%6c163}0l2o2P6`3(1n3*2r2u2p0m4E2o3)0=0f0U0W0Y0P04.

Tracé du parcours (le vôtre à gauche, la solution à droite)

Le parcours de votre code et la solution attendue s'afficheront ici