Aller au contenu

Répéter \(n\) fois⚓︎

Les boucles

On remarque qu’on est amené à répéter plusieurs fois la même suite d’instructions. Afin d’éviter cela, on utilise des boucles.

La fonction croix() utilise 4 fois les mêmes instructions. Cela peut se simplifier avec une boucle pour qui correspond, dans ce cas, à "répéter 4 fois".

Répéter \(n\) fois

La structure générale d'une boucle de type "répéter \(n\) fois" est :

Python
for i in range(n): # (1)!
    instruction_1 # (2)!
    instruction_2
    ...
    instruction_k

  1. Les mots clef for et in sont obligatoires, tout comme les ":" Ă  la fin. Le nom de la variable de boucle, ici i, peut ĂŞtre n'importe quel autre nom de variable. En pratique, on utilise souvent i, j ou k.
  2. Comme pour les fonctions, l'indentation permet de déterminer les instructions qui font partie de la boucle et celles qui n'y sont pas.

Cela revient à répéter \(n\) fois la suite d'instructions.

Un exemple de boucle

On considère la fonction suivante :

Python
def triangle():
    for i in range(3):
        forward(150)
        left(120)
Vous pouvez tester la fonction ici

###(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

Votre tracé sera ici

Lors de l'appel à la fonction, le code est transformé successivement pour arriver aux instructions de base :

Python
triangle()
Python
for i in range(3):
    forward(150)
    left(120)
Python
forward(150)  # Premier tour de boucle
left(120)
forward(150)  # Deuxième tour de boucle
left(120)
forward(150)  # Troisième tour de boucle
left(120)
Exercice 8 (recopier la réponse sur la feuille)

Complétez le code de la fonction croix_v2 afin d'obtenir la même figure qu'avec la fonction croix vu précédemment.

⚠ Vous devez utiliser la fonction pic qui est pré-définie.

Pour rappel, le code de la fonction croix
Python
def croix():
    pic()
    left(90)
    pic()
    left(90)
    pic()
    left(90)
    pic()
    left(90)
Indication

Il y a 2 lignes qui sont répétées plusieurs fois dans le code de croix.

Il faut juste rajouter ces deux lignes et le nombre de fois qu'il faut répéter ces lignes.

###(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

.128013)wP=c0hS2sr/n6ko_ev19pf(dxut-bai4y3g lm:050z0s0C0F0G0M0k0L0f0M0F0k0k0e010C0G0w010406050k0B0N0N0F0l0I040i0q0M0B0)0q0n050m0:0=0@0_0.0w040519121c0m190.0z0G0t0X0Z0#0%0Z0n0K0B0F0K0s0D0w0I0C0h100L0h0G0K0h0M1E0h0C0,050S0E0M0s1l0!0$011D1F1H1F0C1N1P1L0C0l1a1z0X0|0k0w0F0n0%0j011R1n010x0U0s0n0F0N0s1L1-1/1@1T1`1P1}1 0,0a0L0d0l0q0w0q0k0G0 0n0L0Q1+0l0l0s0f2k12220n1a0m1z2x1%1)1(1M0z241o0G0n1|2h1L1i1k0Y1S2H2J0n0q2N1L0w2q1a2v2x2!0/1.2l2P1^2T0l0?0M1L0F1C2q0x0%030r0r0f2U0s1H2S0q0D0o0D0u0,0u120F2#2(0-2%232*1T2,2.2:2=0s2@012_2{2}2 2K320D1=040j383a1/3c2v2G013h0F2/1a2;0h2?2^2`2|0Q3r2T3t0J0,0J3y2u3b0.3C3f0%3F3H053J3L3n3N3q2I3s330H0,0H3W133b1d2Y122N2A0z1)2F3#013O201a3~1b3|2$3_3A05452Z2(0L0G0z0%2`2v3t353I4i4k013-3P3/3R33350L280s4l3p4v304o1L0m393d2)1m1T0p0,0Q0x3X3A0L4L3D0n0x0,0f2e0G0A0r0t3x4c2w4W430+040y0b0O4T2w0.4,4g234j4D4n333v3)4r4D453Q31511?4B553.4G592x390L5i4V3!4N0%4P040x0q0l4^045k4h430n0,0G5t5v3e5m010q0c5z114{5C4M2Q3E0E0,0l1/1u5t4.5E4:0y5U5l5N0N0G3?5Z5w5W0,4?5t4`2$3C4~4t0r500D3T4q5=4u2~4w585_5a1~4C5?565 3S4I5h5j6b5V5N5y040w0G0f5)5D5N5X0b5.6k2l5|5@2(3t3=5{4s5}576v621 5c4F3:0D6w3y6b6c5!2+0,1P0x0C6q3D5X6S435$0,0v0g6V5+046o4{5/3`0m4f3{0s2x482y40122B6@0F1O6/3}1j3c0m0Q0S0U0k04.

Votre tracé sera ici