TP structures conditionnelles et boucles

QCM Python : Les boucles

Les boucles for et while en Python. ⚠️ Le paramètre de fin de la fonction range() est toujours exclu. Exemple range(1,4) génère les valeurs 1, 2 et 3.

  1. Que vaut la variable somme après l'exécution du code suivant ?
    1
    2
    3
    somme = 0
    for i in range(1, 5):
        somme += i
    

    • 10

    • 15

    • 5

    • 4

    Remarque .of lg5j,br1atue(Ă nxsLc)im./4pd050C040u0l0c0i0a0n0v0d0o0c050v0a0D0o040b0a0j050A0S0U040c0l0g0L0m0P0O0t0c0o0r0m0x0o0j0:0U0c0k0c0q0c0B0 0Q0$0V0t0a0y0y0o0!150(0p0v0l0j140T0V0j0l0r0e0o0p0k0h0c0f0w1c1k0(0o0s0N0n0m1u0w0z0!0F.
  2. Laquelle de ces boucles while ne termine pas (boucle infinie) ?
    # A
    x = 3
    while x < 10:
        x += 1
    
    # B
    y = 10
    while y > 0:
        y -= 2
    
    # C
    z = 1
    while z < 5:
        z *= 2
    
    # D
    t = 0
    while t < 5:
        print(t)
    

    • A

    • B

    • C

    • D

    Remarque .o;f l5j,brahtvuensLcim./Dpd050z040s0k0d0i0a0o0t0e0p0d0y0d0k0c0c0u0t0l0M050t0a0A0p040m050x0Y0!040d0r0k0q0r0d0g0k0v0k0u0;0v0Z0u0S0p0j0-0F0n0k0L0o0j0h0d0A0a0q0t0d0X0Z0#0m0d020e0m0b0d0f0(0*0#0d0p0r1j0m0I0g0I0j0;0n0j0_0w0(0C.
  3. Combien de fois la boucle suivante s'exécute-t-elle ?
    for i in range(100, 1, -3):
        pass
    

    • 32

    • 34

    • 33

    • 35

    Remarque .8217o; lgjbr1éaC3tvue(ànsLc)iqm.4/p0d050F040w0l0d0h0b0q0x0e0r0d0x0b0B0B0r0u0x0T0t0d0j0G0G0d0r0o0d0H0k0x0i0k0Y0u0o0T0H0T0n0d0g0q0v0A0q0a0%0l0o0`0z0u0H0i0T0q0u0T0p0l0S0q0i0d020f0o0c0(0C0d0m0r0e0M0H0b0u1g0d0n0~1i1k0i0v0d0s0|0(0*0d0%0D0d1a0R110y0C050E0J.

Une boucle for pour calculer une la somme 1 + 2 + ... + 99 + 100⚓︎

Après les tours de boucle, la variable somme doit valoir 1 + 2 + 3 +... + 100

###(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
.128013oIPf lkg:+,bry2a1éh3tvw=ue(Sàn_s-c)im/4p0d050Q0A0v0q0K0g0G0f0I0g0q0G0G0y010v0K0O010406050G0z0L0L0q0n0o040C0b0g0z0+0b0E050M0=0@0_0{0:0O04051b141e0M1b0:0Q0K0w0Z0#0%0)0#0E0i0z0q0i0A0H0O0o0v0t120f0t0K0i0t0g1G0t0v0.050U0m0g0A1n0$0(011F1H1J1H0v1P1R1N0v0n1c1B0Z0~0G0O0q0E0)0p011T1p010e0W0A0E0q0L0A1N1/1;1_1V1|1R1 210.0a0f0d0n0b0O0b0G0K110E0f0S1-0n0n0A0I2m14240E1c0M1B2z1)1+1*1O0Q261q0K0E1~2j1N1k1m0!1U2J2L0E0b2P1N0O2s1c2x2z2$0;1:2n2R1`2V0n0^0g1N0q1E2s0e0)030F0F0I2W0A1J2U0b0H0u0H0r0.0r140q2%2*0/2)252,1V2.2:2=2@0A2_012{2}2 312M340H1@040p3a3c1;3e2x2I013j0q2;1c2?0t2^2`2|2~0S3t2V3v0u0.0u3A2w3d0:3E3h0)3H3J053L3N3p3P3s2K3u350N0.0N3Y153d1f2!142P2C0Q1+2H3%013Q221c401d3~2(3{3C05472#2*0f0K0Q0)2|2x3v373K4k4m013/3R3;3T35370f2a0A4n3r4x324q1N0M3b3f2+1o3i0.0G0b0@0A3Z3C0f4N3F0b0.0y4W2y4Y3$4P0)0L0K0.0P4(044*4j450I4r030f0c0E2l0K3I0K0G0q2m2o1S0#0f0w0_511Q1S4S4U4=0:4e2y4Z4l4F4p353x3+4t4F473S335q1^4D5u3:4I5y2z3b5j2(3E5n4v0F5p343l5K4w304y5x5O4C204E5L5v5T3U4K4M4+2S010h0.0e0b0n4=4@3g4,3G0.0K5;4Z450b0x5_135k4?5|5@0E0m0.0n1;1w4=645*0-040B6c5)1`4.386i4^5@6f0l6n5?5*6l040r0P39626d1`6f0J0j5{6j1V4`0.4|0K5a2?2Z1~0Q2s0f1R0Y5b1R0z0n0Y2p0r0f0D0f6x0P4k0E0!0z0G5i6s2n5Q5M2*3v3@4s6@5!5D0H3@5W215B4H3=705%4?0f7a6B4Q045g216G6o5*4#040k4%625=4O5*0E5_7h6t1`6J046L6-0n0s210E0U562p6M2p595b0n5d1R0f7f4V625H3|0M4h3}0A2z4a2A42142D7%0q5e7Z1l3e0M0S0U0W0G04.

Une boucle for pour calculer factoriel n⚓︎

Après les tours de boucle, la variable factorielle doit valoir n!

###(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
.128013oIPf lkg5:+,bry2a1h3tv!w=u6e(*SĂ n_s-c)im/4p0d050T0C0v0r0N0g0J0f0L0g0r0J0J0z010v0N0R010406050J0A0O0O0r0o0p040F0b0g0A0.0b0H050P0^0`0|0~0?0R04051e171h0P1e0?0T0N0w0$0(0*0,0(0H0i0A0r0i0C0K0R0p0v0t150f0t0N0i0t0g1J0t0v0;050X0n0g0C1q0)0+011I1K1M1K0v1S1U1Q0v0o1f1E0$110J0R0r0H0,0q011W1s010e0Z0C0H0r0O0C1Q1=1@1|1Y1 1U22240;0a0f0d0o0b0R0b0J0N140H0f0V1:0o0o0C0L2p17270H1f0P1E2C1,1.1-1R0T291t0N0H212m1Q1n1p0%1X2M2O0H0b2S1Q0R2v1f2A2C2)0@1?2q2U1}2Y0o0{0g1Q0r1H2v0e0,030I0I0L2Z0C1M2X0b0K0Q0K0s0;0s170r2*2-0=2,282/1Y2;2?2^2`0C2|012~3032342P370K1`040q3d3f1@3h2A2L013m0r2@1f2_0t2{2}2 310V3w2Y3y0u0;0u3D2z3g0?3H3k0,3K3M053O3Q3s3S3v2N3x380Q0;0Q3#183%3i2.1r3l0b2=3L3o3P3q3R3u3U3@3W380j0;0j3}2)3(2-3I3,473:3t3T334d36380B0;0B4j3g1i2%172S2F0T1.2K3*014s2R1o1f2$0C2(4B3~3F054s4S280N0T0,2 2A3y3a3N0f4!4$4b4t354)1{2d0C4.4s3V4v391Q0P3e404n0;164U2B0f514K0b0;0z3$3F573)420,0O0N3b0S5d56585h4L4*030f0c0H2o0N3L0N0J0r2p2r1V0(0f0w0|5y1T1V2q0G0f5G5I1U0A0o2r150v0f1G0w0C130$3L0L0A1U5U0H0x5n3h554Y2q4-014%2-3y3A3.4,4#5^4/4{5{4?234^604`4u632C3e0?5;515@5_1@3X3o6g6169383Y0f4@4_3?4;6o4~505g2V3J0;0e0r2x440N331U5/5f4m595b6J5p6z5j3b6O6y1}0L5s5u5w0.5z5B2y5;6d2+3H6l4(3_6k5 3=4c6u3764246s6=3^6@6b5:6*4m6,5`4f6/6`4:6|4g6q657662746~6P1}0h6B446T6L5q0H0;0N7l3j5q0b0y7p542)6K7s6z0H0n0;0o1@1z5/7g1Y0:040D7I6U1Y6R3B7O7m6z7L0m7r417B537Y3I5a040l7$4K7R3c6e7P0,7L0M0k7+5q6W0;5t2l5T5P0C0#210.0C0o0#2s0q0f5O7x3 7/716:0I6-0K4x4+6l686?4x7a6_676t6|8j3D0f8w7z7Z2:6B6D0v6F6H0C7^6z7(0E5c5;8y52047q6(7I0P4X4C4R4E4O170v4H8Z2I2D0r5L2C4F6d0V0X0Z0J04.

Une boucle pour dessiner un triangle en ASCII art.⚓︎

Le but de cet exercice est de dessiner le triangle suivant :

Text Only
          *
         ***
        *****
       *******
      *********
     ***********
    *************
   ***************
  *****************
 *******************

Astuces

  • "bonjour " + "vous" concatène les deux chaĂ®nes ce qui donne "bonjour vous"

  • "*" * 5 donne la chaĂ®ne de caractères "*****"

Ainsi " " * 3 + "*" * 4 donne " ****"

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

Compter les e dans un phrase.⚓︎

Une boucle peut permettre de compter le nombre d'occurrences de e.

###(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
.128013oPf lkg5:î+,bry2a1CAh3tvwT=u6eSn_s-c7im./4ép0d050U0E0x0r0M0f0I0e0K0f0r0I0I0B010x0M0S010406050I0C0N0N0r0o0p040F0b0f0C0/0b0G050P0_0{0}0 0@0S04051f181i0P1f0@0U0M0y0%0)0+0-0)0G0h0C0r0h0E0J0S0p0x0v160e0v0M0h0v0f1K0v0x0=050Y0n0f0E1r0*0,011J1L1N1L0x1T1V1R0x0o1g1F0%120I0S0r0G0-0q011X1t010d0!0E0G0r0N0E1R1?1^1}1Z201V23250=0a0e0c0o0b0S0b0I0M150G0e0W1;0o0o0E0K2q18280G1g0P1F2D1-1/1.1S0U2a1u0M0G222n1R1o1q0(1Y2N2P0G0b2T1R0S2w1g2B2D2*0^1@2r2V1~2Z0o0|0f1R0r1I2w0d0-030H0H0K2!0E1N2Y0b0J0D0J0s0=0s180r2+2.0?2-292:1Z2=2@2_2{0E2}012 3133352Q380J1{040q3e3g1^3i2B2M013n0r2^1g2`0v2|2~30320W3x2Z3z0w0=0w3E2A3h0@3I3l0-3L3N053P3R3t3T3w2O3y390Q0=0Q3$193(3j2/1s3m0b2?3M3p3Q3r3S3v3V3^3X390i0=0i3~2*3)2.3J3-483;3u3U344e37390D0=0D4k403*433,453o3O3q3s4s3@363z0L0=0L4B3G1j2(182T2G0U1/2L3+014t2S1p1g2%0E2)3h3%4T4t4.290M0U0-302B3z3b4I4^4`4c4u4N393b0e2e0E514t3W4w3a1R0P3f414o0=0S3Q0*0E4:2C0e5i4$0b0=0B5p045r4D2W010I3B010A1G0I1W0z1G0%4@0|0h3^0e1^1E1J1w0m5M2/2w0r0x1W1F1W0M0N2m0+0M1U0E0O015x0e5z4n4$0K4~030e0t2p5!0M0b5x0@3 4T3I50014{2.3z3B3/0e683?4d543A1|585a4M3_6k2D5h5A2;0=17655q5s4E3K0=0W5=6z5B0G0=0u1v6E6t3m0=0A0C0o2O0h635x5i6g0H4|393Z4 4_69525c3Y6l24596(5b4v6+6r4?426G0=325*5#6Q6L5^6A5u045w6x5y6F1~0N0M0=0T6U756W6%6a1^3z3{6$6n6i6p3{576-7m537o5f3f642,677g6Y6b4g3p6X6:6j4h7q257s6*7D6?771Z0g0=0d456 3k6A6H040f7V6^1~0b0z0=2O7#5j045l0o5n6V6M0-0;040j7,5_5{0e1@0o326Q0$2t0)0%0v0r0k2P7~5m5I7~0}0e1V1)2w8g7d7y4n6X6Z387E7A7G6p4y7J6.6h7t4f8q6?5?5?7P0-7R040M0d7{7X0=7!755@7W5B720B742*8Q7$1Z0I4~000E007=705B7^7`757x4/7z518p4P7l6/6o8A4P8w7L6;398@3E8D938X7-6{0S6}0o8L8S0=0l8V3h954$793c9b1~5`0=5|0C2r8$005R0e0R0x0R2s0R810y0E0o0x8l4/0P4=4U4-4W4*180x4Z9O2J2E0r5.2D4X640W0Y0!0I04.

Tester si un nombre est premier.⚓︎

Nous utilisons une boucle pour afficher (avec print) si un nombre est premier ou non.

La boucle teste si nombre est divisble (avec %) par une variable d (inférieure à la racine carrée de nombre).

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

La suite de Fibonacci⚓︎

La suite de Fibonacci est une suite d'entiers définie de manière récurrente, dont les deux premiers termes sont fixés, et chaque terme suivant est la somme des deux précédents.

Définition⚓︎

La suite de Fibonacci \((F_n)\) est définie par :

  • \(F_0 = 0\)
  • \(F_1 = 1\)
  • \(F_n = F_{n-1} + F_{n-2}\) pour tout \(n \geq 2\)

Les premiers termes de la suite sont donc :

\[ 0,\ 1,\ 1,\ 2,\ 3,\ 5,\ 8,\ 13,\ 21,\ 34,\ 55,\ \dots \]

Le but du script suivant est de déterminer le premier terme de la suite qui dépasse un certain seuil. Par exemple si le seuil vaut 100, le terme sera 144, si le seuil est 1000 le terme sera 1597.

###(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
.128013oP;f lkg5:j+,Fbry2a1éh3tvw=u6eSànx_s-c7im/4p0d050U0E0y0t0O0g0K0f0M0g0t0K0K0B010y0O0S010406050K0C0P0P0t0q0r040F0b0g0C0/0b0H050Q0_0{0}0 0@0S04051f181i0Q1f0@0U0O0z0%0)0+0-0)0H0i0C0t0i0E0L0S0r0y0w160f0w0O0i0w0g1K0w0y0=050Y0p0g0E1r0*0,011J1L1N1L0y1T1V1R0y0q1g1F0%120K0S0t0H0-0s011X1t010e0!0E0H0t0P0E1R1?1^1}1Z201V23250=0a0f0c0q0b0S0b0K0O150H0f0W1;0q0q0E0M2q18280H1g0Q1F2D1-1/1.1S0U2a1u0O0H222n1R1o1q0(1Y2N2P0H0b2T1R0S2w1g2B2D2*0^1@2r2V1~2Z0q0|0g1R0t1I2w0e0-030J0J0M2!0E1N2Y0b0L0N0L0u0=0u180t2+2.0?2-292:1Z2=2@2_2{0E2}012 3133352Q380L1{040s3e3g1^3i2B2M013n0t2^1g2`0w2|2~30320W3x2Z3z0x0=0x3E2A3h0@3I3l0-3L3N053P3R3t3T3w2O3y390R0=0R3$193(3j2/1s3m0b2?3M3p3Q3r3S3v3V3^3X390j0=0j3~2*3)2.3J3-483;3u3U344e37390D0=0D4k3h1j2(182T2G0U1/2L3+014t2S1p1g2%0E2)4C3 3G054t4T290O0U0-302B3z3b3O0f4#4%4c4u364*1|2e0E4/4t3W4w3a1R0Q3f414o0=4R0M0E0W0H0y3%4W3*430-0;040n5b2C0f524L0H0=0y0E2?0E5j045l5d2W010b0=0B5u5w4n4L0P0O0=0T5u5m5e015g5i4V5k5M5y5H3c5D5T1~0M4+032i0b0C0q0f0K0y0b0M0h5r2s0E0C0I0f5q5s0$0_0M560+0O0e0$2t0)5+0C2p1W2t0o0O0p5u0@5R4Z2r4.014(2.3z3B3/4-4$6k4:4|6n4@244_6s4{4v6v2D515x2;0=160t5~0O6e5L3I6j6l1^3Y3p6P6t6B393Z0f4^4`3@4=6X4 6E5F5N5o040K5?0!5X6F1Z5A045C6g5E3k5N5V040u0T5K6{5Y1Z5!0=5$6/670g0f0G2s0v1@0+5r6M6g526U4)3`6T6r3?4d6%0L3{6Z6x6#7t3_7v6)3i7l6O7r0J7o0L4h4,6U6A7u4h7x257z4;7B7L3$6?0-0h0=0A1J1V6=6+5y6-5`257)6}5y6^020g0y0d6`2*6|427+0=7a6;747Y5O0=0k7k2,7G4/7J4y7M7H7O7B4y7R6y7s7U4f0L8c3E0f8q7|53045557225a7F7*1~5P7/7}6G047-5t828A6@5B8D8t8H6N8K5f0=5Q7{753,542w56588y8V836^0m8N5n5p5r7.8J7:5Z5#0f5H6/7d0f0l5(5*0W0$8H0K874U4Y4D4S4F4P180y4I9a2J2E0t1U970Q4G6f0W0Y0!0K04.