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

.128013)Skp4ugcweit38; ldrmo2sPf(.:0=+axv/167bn*5y-h050s0k0m0G0l0r0x0q0i0r0G0x0x0E010m0l0e010406050x0g0u0u0G0t0R040c0v0r0g0.0v0O050J0^0`0|0~0?0e04051e171h0J1e0?0s0l0I0$0(0*0,0T0l0h0T0r1v0T0m0;050X0N0r0k1q0)0+011u1w1y1w0m1E1G1C0m0t1f0m0T0$110x0e0G0O0,0w011I1s010z0Z0k0O0G0u0k1C1#1%1,1K1/1G1=1@0;0a0q0y0t0v0e0v0x0l140O0q0V1Z0t0t0k0i2c171`0O1f0J1X2p1U1W1V1D0s1|0,1y0O1;291C1n1p0%1J2z0l2B0O0v2F1C0e2i1f2n2p2T0@1$2d2H1-2M0t0{0r0;0K2m2X0=2W1{2Z1K2#2%0;0w2+1%2-2n2y012=0G2(040n2_2o0?2|2:0,2 310f342{2X2}3a0;0Q3d363f382~0v2$300;0L3d1i2R172F2s0s1W2x3n0i2N1^1f3y1g3w2V182,053E0V2S3m1r1K0d0;0V0z3u373T0,0j0;0q3Z3S2I2~0z0;0r0v0i0G2l3M2`2.2Y3#010:040A3*2/3|0O0;0H413{3,3~0b3d3)3!490;0C3k0q4j4d3+1-3V040l3Y3^2o4l423,4404464s3R4v1-0v0;020r0m0p0E472}0u0l2@0Q0D4c3`2}3~4h4A064k4Z4u482!0;0X0t4q4S4e4D0;4K4A4#4M4O040M3j4;0q4Y4k4T3n4o0k0!0k4,4m1K4V4i4!4j4 434(0|4+4;5c3,4E044:2T4=3n4N0;4_554C1K5k0F5t4$1K0u3.040D0B0w0o4L3n5k0P5I3|3~404A5i4%4y5M5j0;0S5U1-5q040w4Q5Y570;4b4X4Z5R3U0;2i0m0g0t165h4-2;5e4*4r2T0?0J3P0k2p2Q633x1o3z2s2v2q0G1F660J3y600V0X0Z0x04.
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

.128013)Skp4ugcweit3; ldrmo2sPf(:0=axv/16bn*5y-h050r0k0m0D0l0q0w0p0i0q0D0w0w0C010m0l0e010406050w0g0t0t0D0s0N040c0u0q0g0*0u0K050G0;0?0^0`0/0e04051a131d0G1a0/0r0l0F0Y0!0$0(0P0l0h0P0q1r0P0m0-050T0J0q0k1m0#0%011q1s1u1s0m1A1C1y0m0s1b0m0P0Y0}0w0e0D0K0(0v011E1o010y0V0k0K0D0t0k1y1X1Z1(1G1+1C1.1:0-0a0p0x0s0u0e0u0w0l100K0p0R1V0s0s0k0i28131?0K1b0G1T2l1Q1S1R1z0r1^0(1u0K1-251y1j1l0Z1F2v0l2x0K0u2B1y0e2e1b2j2l2P0:1Y292D1)2I0s0@0q0-0H2i2T0.2S1@2V1G2X2Z0-0v2%1Z2)2j2u012.0D2!040n2=2k0/2^2,0(2{2}0f302@2T2_360-0M39323b342`0u2Y2|0-0I391e2N132B2o0r1S2t3j0i2J1;1b3u1c3s2R142(053A0R2O3i1n1G0d0-0R0y3q333P0(0j0-0p3V3O2E2`0y0-0@0y112g0l11393#3W3(0,040z3$2+3X2`0-0E3|2U3~3_0b3=2*433^0-0A3g0p4e3?3%1)3R040l3U3I2?4g3}3(0K40473@1)0u0-020h0m0o0C422_0t0l0-0B4u4h1G3_4c4n314f4R4p492W0-0N4K4q4w0-4D4P044T4F4H042;4%482_4x040L4E3j4s04414%0p064R4/3j4j0k0W0k4Y4U4M4b4d4S4e503~4_4X4|5d3(4;4$2P4)4^4t4.4v1G4;0O4@3~4G2#5a5c5r0(4j2e0m0g0s125h5B3 045g2P0/0G3L0k2l2M5S3t1k3v2o2r2m0D1B5V0G3u5P0R0T0V0w04.
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

.128013)kSpugcweit ldrmo2sPf(:=,av/1*bnyh050o0j0l0A0k0n0t0m0h0n0A0t0t0y010l0k0e010406050t0f0q0q0A0p0H040d0r0n0f0Z0r0G050C0*0,0.0:0(0e0405130|160C130(0o0k0B0R0T0V0X0I0k0g0I0n1k0I0l0$050M0F0n0j1f0U0W011j1l1n1l0l1t1v1r0l0p140l0I0R0?0t0e0A0G0X0s011x1h010v0O0j0G0A0q0j1r1Q1S1X1z1!1v1%1)0$0a0m0u0p0r0e0r0t0k0_0G0m0K1O0p0p0j0h210|1,0G140C1M2e1J1L1K1s0o1.0X1n0G1$1~1r1c1e0S1y2o0k2q0G0r2u1r0e27142c2e2I0)1R222w1Y2B0p0-0n0$0D2b2M0%2L1-2O1z2Q2S0$0s2W1S2e2F0j2e2u2h0o1L2m2#0X0h2C1*142;152G2Z2d2+332{0K2H2M2n010c0$0K0v34382!1g1z0i0$0m3g323a0G0v0$27291S0g1v3o2c3a0#040w3z392_010G0$0n0`0g0f0j0f0p3F3i2x013C0z3g3n3A3H3J040T0p0g3P3R0}2X3p3H3C0b3Y3/3j0X3C0x3g060m3~3Z3G3^3b3t0L3Q0{3-2,403T2P3K3M3O3Q3S2N420r0$0E4h3q3K0.3*4g482d0(0C362/17310C2 2f2?0|2i4F0A1u4y4B1d2Y4B0L0N0P04.

###(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)kSp4ugcwe3it ldrmo2sqPf(:=av/1*bnyh050q0k0n0C0m0p0v0o0i0p0C0v0v0B010n0m0e010406050v0g0s0s0C0r0J040d0t0p0g0#0t0I050E0,0.0:0=0*0e0405150~180E150*0q0m0D0T0V0X0Z0K0m0h0K0p1m0K0n0(050O0H0p0k1h0W0Y011l1n1p1n0n1v1x1t0n0r160n0K0T0^0v0e0C0I0Z0u011z1j010y0Q0k0I0C0s0k1t1S1U1Z1B1$1x1)1+0(0a0o0x0r0t0e0t0v0m0{0I0o0M1Q0r0r0k0i230~1.0I160E1O2g1L1N1M1u0q1:0Z1p0I1(201t1e1g0U1A2q0m2s0I0t2w1t0e29162e2g2K0+1T242y1!2D0r0/0p0(0F2d2O0)2N1/2Q1B2S2U0(0u2Y1U2!2e2p012)0C2V040l2-2f0*2:2%0Z2?2^0f2{2g2H0k2g2w2j0q1N2o2 010i2E1,1639172I2#2f34053g0M2J2O2;0c0I0(0y1}0s3p2~1i1B0j0(0o3C3u3e0I3x040/1O3J2$3E0Z3G043I0 2Z3n3v3N0m0s1 0r0n343I3D2z2=0(0e0m342}3K3T010c0(0M0y3R2P3`3V3X2M3.2R0y3}0m0v0w0g0k3,3!3e0%040z402;3N0r0C0J0|4l4h0(0b4f461B4i0A3@0o4C3-3_3/3N0P294w4F1!0t0(0B4K3S4G3;3?3Y2.4g3`4N040G4s3`4n4p4r4V3o4x0Z4Z0G4#4+3t4R1!0s0m2+4B4D4X3/3|04290n0g0r0}4=4E4@2(0(4I4e4=0*0E3r37193m0E3k2h3b0~2k5p0C1w5i5l1f2!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

.128013)Skp4ugcweit3; ldrmo2sqPf(:0=axv/167bn5yh050r0k0m0E0l0q0w0p0i0q0E0w0w0D010m0l0e010406050w0g0t0t0E0s0O040c0u0q0g0*0u0M050H0;0?0^0`0/0e04051a131d0H1a0/0r0l0G0Y0!0$0(0P0l0h0P0q1r0P0m0-050T0L0q0k1m0#0%011q1s1u1s0m1A1C1y0m0s1b0m0P0Y0}0w0e0E0M0(0v011E1o010z0V0k0M0E0t0k1y1X1Z1(1G1+1C1.1:0-0a0p0y0s0u0e0u0w0l100M0p0R1V0s0s0k0i28131?0M1b0H1T2l1Q1S1R1z0r1^0(1u0M1-251y1j1l0Z1F2v0l2x0M0u2B1y0e2e1b2j2l2P0:1Y292D1)2I0s0@0q0-0I2i2T0.2S1@2V1G2X2Z0-0v2%1Z2)2j2u012.0E2!040n2=2k0/2^2,0(2{2}0f302@2T2_360-0N39323b342`0u2Y2|0-0J3g2*2U1n2-3l2/040K391e2N132B2o0r1S2t3j0i2J1;1b3D1c3B2R142(053J0R2O3i3t0(0d0M0-0z220t3z333Y010j0-0p3*3X2E2`3#040@1T3;2+3,3.043:3R2?3r2_3!0-0l0t240s0m393:3+3?3^0w0x4b3q4f1)0d0-0R0z3|3s3?3 412R4m2-0z0-0@0z112g0l114d443j0,040A4s3c0-0F4O4K0-0b4I4y0(4L0B3g0p4$4e3=4n474r422k4(3}4g4Q4W4)1G0u0-020h0m0o4?4:1)0t0l0-0C4 4t1)4Z4#4%5b4J3,3^0O562_4_040D5h3j4h4j4c4-3W501G4L4N5r5d4;044R5x4X014L4V5r065c5D4o040k0W0k5m3,595H5b5J4@350-5g5r4/574^0-5l5!5y5153042$5T4%5+1G5L2e0m0g0s125*5D5f3q0H3U0k2l2M633C1k3E2o2r2m0E1B660H3D0/6g0S0U0W04.
Exercice 5

Corrige 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

.128013)Skp4uFgcweit38; ldrmo2sPf(:0=,a+v/167bn*5yh050t0l0n0G0m0s0y0r0j0s0G0y0y0E010n0m0e010406050y0g0v0v0G0u0R040c0w0s0g0-0w0O050J0@0_0{0}0=0e04051d161g0J1d0=0t0m0I0#0%0)0+0S0m0i0S0s1u0S0n0:050W0N0s0l1p0(0*011t1v1x1v0n1D1F1B0n0u1e0n0S0#100y0e0G0O0+0x011H1r010A0Y0l0O0G0v0l1B1!1$1+1J1.1F1;1?0:0a0r0z0u0w0e0w0y0m130O0r0U1Y0u0u0l0j2b161_0O1e0J1W2o1T1V1U1C0t1{0+1x0O1:281B1m1o0$1I2y0m2A0O0w2E1B0e2h1e2m2o2S0?1#2c2G1,2L0u0`0s0:0K2l2W0;2V1`2Y1J2!2$0:0x2*1$2,2m2x012;0G2%040o2^2n0=2{2/0+2~300f332`2W2|390:0Q3c353e372}0w2#2 0:0L3j2-2X1q2:3o2=040M3t363w383y3q040p3c1h2Q162E2r0t1V2w3m0j2M1@1e3O1f3M2U172+053U0U2R3l3E010d0:0U0A3K3D2H010k0:0r3?3,3^0O0A0:0`0A142j0m143c3|3@1,0/040B3}2.3-0O0:0s140i0g0l0g0u4g3v3^4d0F493u3f4k0{0i4p4r3$2_4y3m4d0b4x4b1J4d0C3j0r4R4a3~1,3/040m3=4F2n4T4h3 4k4m4o4q4L4U1J0w0:020s0n0q4-4%1,0v0m0:0D4_4t4c0:4P4!0;4S574$511J4W2h0n4q1555592|0d0j0:0h2 0y0l4Q4S4H3-4W0l1x4Z2S5i3m4j040%0u4C4,5h5t3^4:044=4@502|4|4~5P4I535r585A5u0:5d5f5T5u5l045n0Z5q5506575J4V0:5w5p5%4u5V5.5X4R5;2:0:0e0l0u0m1?1T5-5z5 0+5L0E5_4{4}042@556a015L0P4s4z5D4*4D6e4/0:0H6t0+5R6h6o3m6m6B4i4A5F6s5|5}6k5c0V5$5I4M386163650V2h3t0J3)0l2o2P6!3N1n3P2r2u2p0G1E6%0J3O0=6;0V0X0Z04.