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.
-
Que vaut la variable
somme après l'exécution du code suivant ?
| somme = 0
for i in range(1, 5):
somme += i
|
-
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)
|
-
Combien de fois la boucle suivante s'exécute-t-elle ?
| for i in range(100, 1, -3):
pass
|
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
.128013it3adv,n2Séwbcy+14: f-up0I)_elohrP=sà (/mgk050f0D0c0e0b0E0K0u0o0E0e0K0K0J010c0b0y010406050K0x0O0O0e0H0p040k0F0E0x0+0F0i050N0=0@0_0{0:0y04051b141e0N1b0:0f0b0g0Z0#0%0)0#0i0P0x0e0P0D0w0y0p0c0G120u0G0b0P0G0E1G0G0c0.050U0n0E0D1n0$0(011F1H1J1H0c1P1R1N0c0H1c1B0Z0~0K0y0e0i0)0j011T1p010v0W0D0i0e0O0D1N1/1;1_1V1|1R1 210.0a0u0I0H0F0y0F0K0b110i0u0S1-0H0H0D0o2m14240i1c0N1B2z1)1+1*1O0f261q0b0i1~2j1N1k1m0!1U2J2L0i0F2P1N0y2s1c2x2z2$0;1:2n2R1`2V0H0^0E1N0e1E2s0v0)030C0C0o2W0D1J2U0F0w0d0w0r0.0r140e2%2*0/2)252,1V2.2:2=2@0D2_012{2}2 312M340w1@040j3a3c1;3e2x2I013j0e2;1c2?0G2^2`2|2~0S3t2V3v0d0.0d3A2w3d0:3E3h0)3H3J053L3N3p3P3s2K3u350s0.0s3Y153d1f2!142P2C0f1+2H3%013Q221c401d3~2(3{3C05472#2*0u0b0f0)2|2x3v373K4k4m013/3R3;3T35370u2a0D4n3r4x324q1N0N3b3f2+1o3i0.0K0F0@0D3Z3C0u4N3F0F0.0J4W2y4Y3$4P0)0O0b0.0z4(044*4j450o4r030u0A0i2l0b3I0b0K0e2m2o1S0#0u0g0_511Q1S4S4U4=0:4e2y4Z4l4F4p353x3+4t4F473S335q1^4D5u3:4I5y2z3b5j2(3E5n4v0C5p343l5K4w304y5x5O4C204E5L5v5T3U4K4M4+2S010Q0.0v0F0H4=4@3g4,3G0.0b5;4Z450F0m5_135k4?5|5@0i0n0.0H1;1w4=645*0-040M6c5)1`4.386i4^5@6f0h6n5?5*6l040r0z39626d1`6f0B0t5{6j1V4`0.4|0b5a2?2Z1~0f2s0u1R0Y5b1R0x0H0Y2p0r0u0L0u6x0z4k0i0!0x0K5i6s2n5Q5M2*3v3@4s6@5!5D0w3@5W215B4H3=705%4?0u7a6B4Q045g216G6o5*4#040q4%625=4O5*0i5_7h6t1`6J046L6-0H0l210i0U562p6M2p595b0H5d1R0u7f4V625H3|0N4h3}0D2z4a2A42142D7%0e5e7Z1l3e0N0S0U0W0K04.
Une boucle for pour calculer factoriel n
Après les tours de boucle, la variable factorielle doit valoir n!
.128013it3adv,n2S5wb*cy!+14: f-up0I)_elohrP=sĂ 6(/mgk050f0F0c0e0b0G0M0w0p0G0e0M0M0L010c0b0A010406050M0z0R0R0e0J0q040k0H0G0z0.0H0i050Q0^0`0|0~0?0A04051e171h0Q1e0?0f0b0g0$0(0*0,0(0i0S0z0e0S0F0y0A0q0c0I150w0I0b0S0I0G1J0I0c0;050X0n0G0F1q0)0+011I1K1M1K0c1S1U1Q0c0J1f1E0$110M0A0e0i0,0j011W1s010x0Z0F0i0e0R0F1Q1=1@1|1Y1 1U22240;0a0w0K0J0H0A0H0M0b140i0w0V1:0J0J0F0p2p17270i1f0Q1E2C1,1.1-1R0f291t0b0i212m1Q1n1p0%1X2M2O0i0H2S1Q0A2v1f2A2C2)0@1?2q2U1}2Y0J0{0G1Q0e1H2v0x0,030E0E0p2Z0F1M2X0H0y0u0y0t0;0t170e2*2-0=2,282/1Y2;2?2^2`0F2|012~3032342P370y1`040j3d3f1@3h2A2L013m0e2@1f2_0I2{2}2 310V3w2Y3y0d0;0d3D2z3g0?3H3k0,3K3M053O3Q3s3S3v2N3x380u0;0u3#183%3i2.1r3l0H2=3L3o3P3q3R3u3U3@3W380l0;0l3}2)3(2-3I3,473:3t3T334d36380O0;0O4j3g1i2%172S2F0f1.2K3*014s2R1o1f2$0F2(4B3~3F054s4S280b0f0,2 2A3y3a3N0w4!4$4b4t354)1{2d0F4.4s3V4v391Q0Q3e404n0;164U2B0w514K0H0;0L3$3F573)420,0R0b3b0B5d56585h4L4*030w0C0i2o0b3L0b0M0e2p2r1V0(0w0g0|5y1T1V2q0N0w5G5I1U0z0J2r150c0w1G0g0F130$3L0p0z1U5U0i0r5n3h554Y2q4-014%2-3y3A3.4,4#5^4/4{5{4?234^604`4u632C3e0?5;515@5_1@3X3o6g6169383Y0w4@4_3?4;6o4~505g2V3J0;0x0e2x440b331U5/5f4m595b6J5p6z5j3b6O6y1}0p5s5u5w0.5z5B2y5;6d2+3H6l4(3_6k5 3=4c6u3764246s6=3^6@6b5:6*4m6,5`4f6/6`4:6|4g6q657662746~6P1}0T6B446T6L5q0i0;0b7l3j5q0H0m7p542)6K7s6z0i0n0;0J1@1z5/7g1Y0:040P7I6U1Y6R3B7O7m6z7L0h7r417B537Y3I5a040s7$4K7R3c6e7P0,7L0D0v7+5q6W0;5t2l5T5P0F0#210.0F0J0#2s0j0w5O7x3 7/716:0E6-0y4x4+6l686?4x7a6_676t6|8j3D0w8w7z7Z2:6B6D0c6F6H0F7^6z7(0o5c5;8y52047q6(7I0Q4X4C4R4E4O170c4H8Z2I2D0e5L2C4F6d0V0X0Z0M04.
Une boucle pour dessiner un triangle en ASCII art.
Le but de cet exercice est de dessiner le triangle suivant :
| Text Only |
|---|
| *
***
*****
*******
*********
***********
*************
***************
*****************
*******************
|
Astuces
Ainsi " " * 3 + "*" * 4 donne " ****"
Compter les e dans un phrase.
Une boucle peut permettre de compter le nombre d'occurrences de e.
.128013Cit3a;dv,nîT2.S5éwbcy+14qA f-up0:_9eklohrP=s6/mg7050h0K0d0f0c0M0S0B0u0M0f0S0S0R010d0c0F010406050S0E0V0V0f0P0v040p0N0M0E0=0N0k050U0|0~10120`0F04051i1b1l0U1i0`0h0c0i0*0,0.0:0,0k0W0E0f0W0K0D0F0v0d0O190B0O0c0W0O0M1N0O0d0^050#0t0M0K1u0-0/011M1O1Q1O0d1W1Y1U0d0P1j1I0*150S0F0f0k0:0n011!1w010C0%0K0k0f0V0K1U1_1{201$231Y26280^0a0B0Q0P0N0F0N0S0c180k0B0Z1@0P0P0K0u2t1b2b0k1j0U1I2G1:1=1;1V0h2d1x0c0k252q1U1r1t0+1#2Q2S0k0N2W1U0F2z1j2E2G2-0{1`2u2Y212$0P0 0M1U0f1L2z0C0:030I0I0u2%0K1Q2#0N0D0T0D0x0^0x1b0f2.2;0_2:2c2?1$2^2`2|2~0K3001323436382T3b0D1~040n3h3j1{3l2E2P013q0f2{1j2}0O2 3133350Z3A2$3C0e0^0e3H2D3k0`3L3o0:3O3Q053S3U3w3W3z2R3B3c0y0^0y3)1c3+3m2=1v3p0N2_3P3s3T3u3V3y3Y3{3!3c0q0^0q412-3,2;3M3:4b3@3x3X374h3a3c0T0^0T4n433-463/483r3R3t3v4v3`393C0X0^0X4E3J1m2+1b2W2J0h1=2O3.014w2V1s1j2*0K2,3k3*4W4w4;2c0c0h0:332E3C3e4L4{4}4f4x4Q3c3e0B2h0K544w3Z4z3d1U0U3i444r0^0F3T0-0K4?2F0B5l4)0N0^0R5s045u4G2Z010S3E020z0E0N0d0g0m1J0S1Z0s1J0*4`0 0W3{0B1{1H1M1z0j5U2=2z0f0d1Z1I1Z0c0V2p0.0c1X0K0o5I5K5M5A0B5C4q4)0u51030B0b2s5,0c0N5A0`424W3L53014~2;3C3E3=0B6i3_4g573D1 5b5d4P3|6u2G5k5D2@0^1a6f5t5v4H3N0^0Z5 6J5E0k0^0A1y6O6D3p0^0m0E0P2R0W6d5A5l6q0I4 3c3$524|6j555f3#6v275c6=5e4y6^6B4_456Q0^355=5-6!6V626K5x045z6H5B6P210V0c0^0G6(7f6*6;6k1{3C3~6:6x6s6z3~5a6`7w567y5i3i6e2/6h7q6,6l4j3s6+6}6t4k7A287C6@7N707h1$0L0^0C48793n6K6R040M7)72210N0s0^2R7/5m045o0P5q6)6W0:0@040H7_63650B1`0P356!0)2w0,0*0O0f0l2S885p5Q88100B1Y1,2z8q7n7I4q6+6-3b7O7K7Q6z4B7T6{6r7D4i8A7060607Z0:7#040c0C857+0^7.7f617*5E7c0R7e2-8!7:1$0S5102030e0J0g0K8:8=0g7 7a5E82847f7H4=7J548z4S7v6|6y8K4S8G7V6~3c973H8N9j8+7`750F770P8V8$0^0w8)3k9l4)7j3f9r21640^660E2u8_8?8^8;8?5Z0B0r0d0r2v0r8b0i0K0P0d8v4=0U4^4X4:4Z4-1b0d4$9+2M2H0f5_2G4!6e0Z0#0%0S04.
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).
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.
.128013it3a;dv,Fn2S5éwbcy+14: f-up0j_eklohxrP=sà 6/mg7050g0F0c0e0b0H0O0x0r0H0e0O0O0N010c0b0B010406050O0A0S0S0e0L0s040m0I0H0A0/0I0k050R0_0{0}0 0@0B04051f181i0R1f0@0g0b0h0%0)0+0-0)0k0T0A0e0T0F0z0B0s0c0J160x0J0b0T0J0H1K0J0c0=050Y0q0H0F1r0*0,011J1L1N1L0c1T1V1R0c0L1g1F0%120O0B0e0k0-0l011X1t010y0!0F0k0e0S0F1R1?1^1}1Z201V23250=0a0x0M0L0I0B0I0O0b150k0x0W1;0L0L0F0r2q18280k1g0R1F2D1-1/1.1S0g2a1u0b0k222n1R1o1q0(1Y2N2P0k0I2T1R0B2w1g2B2D2*0^1@2r2V1~2Z0L0|0H1R0e1I2w0y0-030E0E0r2!0F1N2Y0I0z0U0z0u0=0u180e2+2.0?2-292:1Z2=2@2_2{0F2}012 3133352Q380z1{040l3e3g1^3i2B2M013n0e2^1g2`0J2|2~30320W3x2Z3z0d0=0d3E2A3h0@3I3l0-3L3N053P3R3t3T3w2O3y390v0=0v3$193(3j2/1s3m0I2?3M3p3Q3r3S3v3V3^3X390n0=0n3~2*3)2.3J3-483;3u3U344e37390Q0=0Q4k3h1j2(182T2G0g1/2L3+014t2S1p1g2%0F2)4C3 3G054t4T290b0g0-302B3z3b3O0x4#4%4c4u364*1|2e0F4/4t3W4w3a1R0R3f414o0=4R0r0F0W0k0c3%4W3*430-0;040i5b2C0x524L0k0=0c0F2?0F5j045l5d2W010I0=0N5u5w4n4L0S0b0=0C5u5m5e015g5i4V5k5M5y5H3c5D5T1~0r4+032i0I0A0L0x0O0c0I0r0G5r2s0F0A0K0x5q5s0$0_0r560+0b0y0$2t0)5+0A2p1W2t0j0b0q5u0@5R4Z2r4.014(2.3z3B3/4-4$6k4:4|6n4@244_6s4{4v6v2D515x2;0=160e5~0b6e5L3I6j6l1^3Y3p6P6t6B393Z0x4^4`3@4=6X4 6E5F5N5o040O5?0!5X6F1Z5A045C6g5E3k5N5V040u0C5K6{5Y1Z5!0=5$6/670H0x0P2s0o1@0+5r6M6g526U4)3`6T6r3?4d6%0z3{6Z6x6#7t3_7v6)3i7l6O7r0E7o0z4h4,6U6A7u4h7x257z4;7B7L3$6?0-0G0=0p1J1V6=6+5y6-5`257)6}5y6^020H0c0f6`2*6|427+0=7a6;747Y5O0=0w7k2,7G4/7J4y7M7H7O7B4y7R6y7s7U4f0z8c3E0x8q7|53045557225a7F7*1~5P7/7}6G047-5t828A6@5B8D8t8H6N8K5f0=5Q7{753,542w56588y8V836^0t8N5n5p5r7.8J7:5Z5#0x5H6/7d0x0D5(5*0W0$8H0O874U4Y4D4S4F4P180c4I9a2J2E0e1U970R4G6f0W0Y0!0O04.
Remarque
.itad,n.5bc14L fujp)eloxrsĂ (/mg050r040m0c0n0i0v0p0j0u0t0n050j0v0d0t040o0v0x050B0S0U040n0c0q0L0b0P0O0y0n0t0f0b0a0t0x0:0U0n0k0n0z0n0l0 0Q0$0V0y0v0C0C0t0!150(0A0j0c0x140T0V0x0c0f0D0t0A0k0e0n0h0s1c1k0(0t0w0N0p0b1u0s0g0!0F.