Aller au contenu

Fonctions et instructions conditionnelles⚓︎

QCM pour débuter⚓︎

Je vérifie ma compréhension (bouton en bas pour recommencer)

  1. Soit le script suivant :
    🐍 Script Python
    1
    2
    3
    4
    5
    def fonction(x) :
        if x <= 0 :
            return 0
        else :
            return 1 
    

    L'appel fonction(3) renvoie la valeur :

    • 0

    • 1

  2. Soit le script suivant :
    🐍 Script Python
    1
    2
    3
    4
    5
    def fonction(x) :
        if x <= 2 :
            return 3*x-1
        else :
            return x+3 
    

    L'appel fonction(10)-fonction(0) renvoie la valeur :

    • 30

    • 26

    • 14

    • 10

  3. Soit le script suivant :
    🐍 Script Python
    1
    2
    3
    4
    5
    def fonction(p) :
        if p%2 == 0 :
            return p//2
        else :
            return 3*p+1
    

    L'appel fonction(12) renvoie la valeur :

    • 6

    • 0

    • 37

  4. Soit le script suivant :
    🐍 Script Python
    1
    2
    3
    4
    5
    def hi (a, b):
        if (a < b)
            return a + b
        else
            return a * b
    

    L'appel hi(2, 3) renvoie la valeur :

    • 5

    • 6

    • 8

    • 23

  5. Soit le script suivant :
    🐍 Script Python
    1
    2
    3
    4
    5
    def hi (a, b):
        if (a < b)
            return a + b
        else
            return a * b
    

    L'appel hi(3, 2) renvoie la valeur :

    • 5

    • 6

    • 9

    • 32

Exercices⚓︎

Exercice 1

Le tarif de base de la location d'une voiture est de 75€ pour tout trajet inférieur à 250 km.
Pour un trajet supérieur à 250 km, on rajoute 0.28€ par km supplémentaire parcouru.

  1. Vérifier que si le trajet est de 350 km, le tarif est de 103€.
  2. Compléter le script si-dessous de la fonction d'appel location() :
    • qui prend pour paramètre x
    • renvoie le tarif tarif
    • pour x inférieur à \(250\), elle renvoie 75
    • pour x supérieur à \(250\), elle renvoie 75+0.28*(x-250)

Valider votre script pour vérifier votre réponse.

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

.128013so6.pP-5*db30y(f:S=eh)iv+;8cm24r7xlk ganw1tu/050k0u0R0N0x0J0b0L0C0J0N0b0b0t010R0x0f010406050b0S0D0D0N0G0o040s0c0J0S0.0c0O050T0^0`0|0~0?0f04051e171h0T1e0?0k0x0y0$0(0*0,0v0x0M0v0J1v0v0R0;050X0l0J0u1q0)0+011u1w1y1w0R1E1G1C0R0G1f0R0v0$110b0f0N0O0,0E011I1s010q0Z0u0O0N0D0u1C1#1%1,1K1/1G1=1@0;0a0L0g0G0c0f0c0b0x140O0L0V1Z0G0G0u0C2c171`0O1f0T1X2p1U1W1V1D0k1|0,1y0O1;291C1n1p0%1J2z0x2B0O0c2F1C0f2i1f2n2p2T0@1$2d2H1-2M0G0{0J0;0Q2m2X0=2W1{2Z1K2#2%0;0E2+1%2-2n2y012=0N2(040m2_2o0?2|2:0,2 310F342{2X2}3a0;0i3d363f382~0c2$300;0d3d1i2R172F2s0k1W2x3n0C2N1^1f3y1g3w2V182,053E0V2S3m1r1K0K0;0V0q3u373T0,0P0;0L3Z3S2I2~0q0;0J0c0C0N2l3M2`2.2Y3#010:040p3*2/3|0O0;0I413{3,3~0w3d3)3!490;0r3k0L4j4d3+1-3V040x3Y3^2o4l423,4404464s3R4v1-0c0;020J0R0A0t472}0D0x2@0i0n4c3`2}3~4h4A064k4Z4u482!0;0X0G4q4S4e4D0;4K4A4#4M4O040H3j4;0L4Y4k4T3n4o0u0!0u4,4m1K4V4i4!4j4 434(0|4+4;5c3,4E044:2T4=3n4N0;4_554C1K5k0z5t4$1K0D3.040n0e0E0B4L3n5k0j5I3|3~404A5i4%4y5M5j0;0h5U1-5q040E4Q5Y570;4b4X4Z5R3U0;2i0R0S0G165h4-2;5e4*4r2T0?0T3P0u2p2Q633x1o3z2s2v2q0N1F660T3y600V0X0Z0b04.
Exercice 2

Compléter le script de la fonction d'appel mafonction() d'argument x et qui :

  • renvoie le double de x si x est positif ou nul.
  • renvoie x-1 sinon.

Valider votre script pour vérifier votre réponse.

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

.128013so6pP-5*db30y(f:S=eh)iv;cm24rxlk ganw1tu/050j0t0N0J0w0F0b0H0z0F0J0b0b0s010N0w0e010406050b0O0A0A0J0D0n040r0c0F0O0*0c0K050P0;0?0^0`0/0e04051a131d0P1a0/0j0w0x0Y0!0$0(0u0w0I0u0F1r0u0N0-050T0k0F0t1m0#0%011q1s1u1s0N1A1C1y0N0D1b0N0u0Y0}0b0e0J0K0(0B011E1o010p0V0t0K0J0A0t1y1X1Z1(1G1+1C1.1:0-0a0H0f0D0c0e0c0b0w100K0H0R1V0D0D0t0z28131?0K1b0P1T2l1Q1S1R1z0j1^0(1u0K1-251y1j1l0Z1F2v0w2x0K0c2B1y0e2e1b2j2l2P0:1Y292D1)2I0D0@0F0-0M2i2T0.2S1@2V1G2X2Z0-0B2%1Z2)2j2u012.0J2!040l2=2k0/2^2,0(2{2}0C302@2T2_360-0h39323b342`0c2Y2|0-0d391e2N132B2o0j1S2t3j0z2J1;1b3u1c3s2R142(053A0R2O3i1n1G0G0-0R0p3q333P0(0L0-0H3V3O2E2`0p0-0@0p112g0w11393#3W3(0,040o3$2+3X2`0-0E3|2U3~3_0v3=2*433^0-0q3g0H4e3?3%1)3R040w3U3I2?4g3}3(0K40473@1)0c0-020I0N0y0s422_0A0w0-0m4u4h1G3_4c4n314f4R4p492W0-0n4K4q4w0-4D4P044T4F4H042;4%482_4x040i4E3j4s04414%0H064R4/3j4j0t0W0t4Y4U4M4b4d4S4e503~4_4X4|5d3(4;4$2P4)4^4t4.4v1G4;0g4@3~4G2#5a5c5r0(4j2e0N0O0D125h5B3 045g2P0/0P3L0t2l2M5S3t1k3v2o2r2m0J1B5V0P3u5P0R0T0V0b04.
Exercice 3

Le script ci-dessous sont :

  1. la fonction d'appel rectangle() qui prend pour paramètres longueur et largeur et renvoie l'aire du rectangle correspondant.
  2. la fonction d'appel disque() qui prend pour paramètres rayon et renvoie l'aire du disque correspondant.

Corriger les erreurs, compléter les scripts et valider votre réponse.

Indication : pi est une instruction de la librairie math

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

.128013sopP*dy(:fS=eh)iv,cm2rl/k ganw1tub050g0n0G0C0q0x0b0A0t0x0C0b0b0m010G0q0d010406050b0H0u0u0C0w0h040l0c0x0H0Z0c0D050y0*0,0.0:0(0d0405130|160y130(0g0q0r0R0T0V0X0o0q0B0o0x1k0o0G0$050M0I0x0n1f0U0W011j1l1n1l0G1t1v1r0G0w140G0o0R0?0b0d0C0D0X0v011x1h010k0O0n0D0C0u0n1r1Q1S1X1z1!1v1%1)0$0a0A0e0w0c0d0c0b0q0_0D0A0K1O0w0w0n0t210|1,0D140y1M2e1J1L1K1s0g1.0X1n0D1$1~1r1c1e0S1y2o0q2q0D0c2u1r0d27142c2e2I0)1R222w1Y2B0w0-0x0$0F2b2M0%2L1-2O1z2Q2S0$0v2W1S2e2F0n2e2u2h0g1L2m2#0X0t2C1*142;152G2Z2d2+332{0K2H2M2n010z0$0K0k34382!1g1z0E0$0A3g323a0D0k0$27291S0B1v3o2c3a0#040i3z392_010D0$0x0`0B0H0n0H0w3F3i2x013C0s3g3n3A3H3J040T0w0B3P3R0}2X3p3H3C0p3Y3/3j0X3C0j3g060A3~3Z3G3^3b3t0L3Q0{3-2,403T2P3K3M3O3Q3S2N420c0$0f4h3q3K0.3*4g482d0(0y362/17310y2 2f2?0|2i4F0C1u4y4B1d2Y4B0L0N0P04.

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

.128013sopP*d3y(:fS=eh)ivcm24rql/k ganw1tub050g0o0I0E0r0z0b0C0t0z0E0b0b0n010I0r0d010406050b0J0u0u0E0x0i040m0c0z0J0#0c0F050A0,0.0:0=0*0d0405150~180A150*0g0r0s0T0V0X0Z0p0r0D0p0z1m0p0I0(050O0K0z0o1h0W0Y011l1n1p1n0I1v1x1t0I0x160I0p0T0^0b0d0E0F0Z0v011z1j010l0Q0o0F0E0u0o1t1S1U1Z1B1$1x1)1+0(0a0C0e0x0c0d0c0b0r0{0F0C0M1Q0x0x0o0t230~1.0F160A1O2g1L1N1M1u0g1:0Z1p0F1(201t1e1g0U1A2q0r2s0F0c2w1t0d29162e2g2K0+1T242y1!2D0x0/0z0(0H2d2O0)2N1/2Q1B2S2U0(0v2Y1U2!2e2p012)0E2V040h2-2f0*2:2%0Z2?2^0w2{2g2H0o2g2w2j0g1N2o2 010t2E1,1639172I2#2f34053g0M2J2O2;0B0F0(0l1}0u3p2~1i1B0G0(0C3C3u3e0F3x040/1O3J2$3E0Z3G043I0 2Z3n3v3N0r0u1 0x0I343I3D2z2=0(0d0r342}3K3T010B0(0M0l3R2P3`3V3X2M3.2R0l3}0r0b0y0J0o3,3!3e0%040j402;3N0x0E0i0|4l4h0(0q4f461B4i0k3@0C4C3-3_3/3N0P294w4F1!0c0(0n4K3S4G3;3?3Y2.4g3`4N040f4s3`4n4p4r4V3o4x0Z4Z0f4#4+3t4R1!0u0r2+4B4D4X3/3|04290I0J0x0}4=4E4@2(0(4I4e4=0*0A3r37193m0A3k2h3b0~2k5p0E1w5i5l1f2!5l0N0P0R04.
Exercice 4

Écrire le script d'une fonction d'appel mafonction():

  • prend pour paramètre x
  • renvoie sa racine carrée s'il est strictement positif.
  • renvoie \(1\) sinon.

Indication : l'instruction sqrt() de la librairie math permet de calculer la racine carré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

.128013so6pP5db30y(f:S=eh)iv;cm24r7qxlk ganw1tu/050h0r0N0J0u0F0b0H0x0F0J0b0b0q010N0u0e010406050b0O0y0y0J0B0l040p0c0F0O0*0c0K050P0;0?0^0`0/0e04051a131d0P1a0/0h0u0v0Y0!0$0(0s0u0I0s0F1r0s0N0-050T0i0F0r1m0#0%011q1s1u1s0N1A1C1y0N0B1b0N0s0Y0}0b0e0J0K0(0z011E1o010n0V0r0K0J0y0r1y1X1Z1(1G1+1C1.1:0-0a0H0f0B0c0e0c0b0u100K0H0R1V0B0B0r0x28131?0K1b0P1T2l1Q1S1R1z0h1^0(1u0K1-251y1j1l0Z1F2v0u2x0K0c2B1y0e2e1b2j2l2P0:1Y292D1)2I0B0@0F0-0M2i2T0.2S1@2V1G2X2Z0-0z2%1Z2)2j2u012.0J2!040j2=2k0/2^2,0(2{2}0A302@2T2_360-0g39323b342`0c2Y2|0-0d3g2*2U1n2-3l2/040C391e2N132B2o0h1S2t3j0x2J1;1b3D1c3B2R142(053J0R2O3i3t0(0G0K0-0n220y3z333Y010L0-0H3*3X2E2`3#040@1T3;2+3,3.043:3R2?3r2_3!0-0u0y240B0N393:3+3?3^0b0D4b3q4f1)0G0-0R0n3|3s3?3 412R4m2-0n0-0@0n112g0u114d443j0,040m4s3c0-0E4O4K0-0t4I4y0(4L0o3g0H4$4e3=4n474r422k4(3}4g4Q4W4)1G0c0-020I0N0w4?4:1)0y0u0-0k4 4t1)4Z4#4%5b4J3,3^0l562_4_040q5h3j4h4j4c4-3W501G4L4N5r5d4;044R5x4X014L4V5r065c5D4o040r0W0r5m3,595H5b5J4@350-5g5r4/574^0-5l5!5y5153042$5T4%5+1G5L2e0N0O0B125*5D5f3q0P3U0r2l2M633C1k3E2o2r2m0J1B660P3D0/6g0S0U0W04.
Exercice 5

Écrit le script d'une fonction d'appel mafonction() qui :

  • prend pour agument longueur et largeur
  • renvoie une False si la valeur d'un des paramètre est négative.
  • renvoie le périmètre du rectangle sinon.

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

.128013so6pP5*db30y(f:S=eh)iv+,;8cm24r7lkF ganw1tu/050i0s0Q0M0v0H0b0K0B0H0M0b0b0r010Q0v0e010406050b0R0C0C0M0F0m040q0c0H0R0-0c0N050S0@0_0{0}0=0e04051d161g0S1d0=0i0v0w0#0%0)0+0t0v0L0t0H1u0t0Q0:050W0j0H0s1p0(0*011t1v1x1v0Q1D1F1B0Q0F1e0Q0t0#100b0e0M0N0+0D011H1r010o0Y0s0N0M0C0s1B1!1$1+1J1.1F1;1?0:0a0K0f0F0c0e0c0b0v130N0K0U1Y0F0F0s0B2b161_0N1e0S1W2o1T1V1U1C0i1{0+1x0N1:281B1m1o0$1I2y0v2A0N0c2E1B0e2h1e2m2o2S0?1#2c2G1,2L0F0`0H0:0P2l2W0;2V1`2Y1J2!2$0:0D2*1$2,2m2x012;0M2%040k2^2n0=2{2/0+2~300E332`2W2|390:0g3c353e372}0c2#2 0:0d3j2-2X1q2:3o2=040G3t363w383y3q040A3c1h2Q162E2r0i1V2w3m0B2M1@1e3O1f3M2U172+053U0U2R3l3E010I0:0U0o3K3D2H010O0:0K3?3,3^0N0o0:0`0o142j0v143c3|3@1,0/040n3}2.3-0N0:0H140L0R0s0R0F4g3v3^4d0y493u3f4k0{0L4p4r3$2_4y3m4d0u4x4b1J4d0p3j0K4R4a3~1,3/040v3=4F2n4T4h3 4k4m4o4q4L4U1J0c0:020H0Q0z4-4%1,0C0v0:0l4_4t4c0:4P4!0;4S574$511J4W2h0Q4q1555592|0I0B0:0J2 0b0s4Q4S4H3-4W0s1x4Z2S5i3m4j040%0F4C4,5h5t3^4:044=4@502|4|4~5P4I535r585A5u0:5d5f5T5u5l045n0Z5q5506575J4V0:5w5p5%4u5V5.5X4R5;2:0:0e0s0F0v1?1T5-5z5 0+5L0r5_4{4}042@556a015L0h4s4z5D4*4D6e4/0:0x6t0+5R6h6o3m6m6B4i4A5F6s5|5}6k5c0V5$5I4M386163650V2h3t0S3)0s2o2P6!3N1n3P2r2u2p0M1E6%0S3O0=6;0V0X0Z04.