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=21p6Pk/+h:g;07*i(dbeulrof8)w5x3-4 nSvyctms.a050t0v0P0T0r0x0R0J0O0x0T0R0R0b010P0r0e010406050R0w0Q0Q0T0y0N040L0z0x0w0.0z0K050i0^0`0|0~0?0e04051e171h0i1e0?0t0r0M0$0(0*0,0k0r0m0k0x1v0k0P0;050X0u0x0v1q0)0+011u1w1y1w0P1E1G1C0P0y1f0P0k0$110R0e0T0K0,0c011I1s010A0Z0v0K0T0Q0v1C1#1%1,1K1/1G1=1@0;0a0J0g0y0z0e0z0R0r140K0J0V1Z0y0y0v0O2c171`0K1f0i1X2p1U1W1V1D0t1|0,1y0K1;291C1n1p0%1J2z0r2B0K0z2F1C0e2i1f2n2p2T0@1$2d2H1-2M0y0{0x0;0d2m2X0=2W1{2Z1K2#2%0;0c2+1%2-2n2y012=0T2(040G2_2o0?2|2:0,2 310I342{2X2}3a0;0E3d363f382~0z2$300;0f3d1i2R172F2s0t1W2x3n0O2N1^1f3y1g3w2V182,053E0V2S3m1r1K0h0;0V0A3u373T0,0D0;0J3Z3S2I2~0A0;0x0z0O0T2l3M2`2.2Y3#010:040s3*2/3|0K0;0F413{3,3~0C3d3)3!490;0l3k0J4j4d3+1-3V040r3Y3^2o4l423,4404464s3R4v1-0z0;020x0P0n0b472}0Q0r2@0E0o4c3`2}3~4h4A064k4Z4u482!0;0X0y4q4S4e4D0;4K4A4#4M4O040p3j4;0J4Y4k4T3n4o0v0!0v4,4m1K4V4i4!4j4 434(0|4+4;5c3,4E044:2T4=3n4N0;4_554C1K5k0j5t4$1K0Q3.040o0S0c0B4L3n5k0q5I3|3~404A5i4%4y5M5j0;0H5U1-5q040c4Q5Y570;4b4X4Z5R3U0;2i0P0w0y165h4-2;5e4*4r2T0?0i3P0v2p2Q633x1o3z2s2v2q0T1F660i3y600V0X0Z0R04.
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=21p6Pk/h:g;0*i(dbeulrof)w5x3-4 nSvyctmsa050r0t0M0P0p0v0O0G0L0v0P0O0O0b010M0p0e010406050O0u0N0N0P0w0K040I0x0v0u0*0x0H050i0;0?0^0`0/0e04051a131d0i1a0/0r0p0J0Y0!0$0(0j0p0l0j0v1r0j0M0-050T0s0v0t1m0#0%011q1s1u1s0M1A1C1y0M0w1b0M0j0Y0}0O0e0P0H0(0c011E1o010y0V0t0H0P0N0t1y1X1Z1(1G1+1C1.1:0-0a0G0g0w0x0e0x0O0p100H0G0R1V0w0w0t0L28131?0H1b0i1T2l1Q1S1R1z0r1^0(1u0H1-251y1j1l0Z1F2v0p2x0H0x2B1y0e2e1b2j2l2P0:1Y292D1)2I0w0@0v0-0d2i2T0.2S1@2V1G2X2Z0-0c2%1Z2)2j2u012.0P2!040D2=2k0/2^2,0(2{2}0F302@2T2_360-0B39323b342`0x2Y2|0-0f391e2N132B2o0r1S2t3j0L2J1;1b3u1c3s2R142(053A0R2O3i1n1G0h0-0R0y3q333P0(0A0-0G3V3O2E2`0y0-0@0y112g0p11393#3W3(0,040q3$2+3X2`0-0C3|2U3~3_0z3=2*433^0-0k3g0G4e3?3%1)3R040p3U3I2?4g3}3(0H40473@1)0x0-020l0M0m0b422_0N0p0-0n4u4h1G3_4c4n314f4R4p492W0-0K4K4q4w0-4D4P044T4F4H042;4%482_4x040o4E3j4s04414%0G064R4/3j4j0t0W0t4Y4U4M4b4d4S4e503~4_4X4|5d3(4;4$2P4)4^4t4.4v1G4;0E4@3~4G2#5a5c5r0(4j2e0M0u0w125h5B3 045g2P0/0i3L0t2l2M5S3t1k3v2o2r2m0P1B5V0i3u5P0R0T0V0O04.
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=21pPk/:hg*i(dbeulrof),a nSvyctmsw050o0q0F0y0m0s0H0z0E0s0y0H0H0b010F0m0e010406050H0r0G0G0y0t0D040B0u0s0r0Z0u0A050h0*0,0.0:0(0e0405130|160h130(0o0m0C0R0T0V0X0j0m0k0j0s1k0j0F0$050M0p0s0q1f0U0W011j1l1n1l0F1t1v1r0F0t140F0j0R0?0H0e0y0A0X0c011x1h010v0O0q0A0y0G0q1r1Q1S1X1z1!1v1%1)0$0a0z0f0t0u0e0u0H0m0_0A0z0K1O0t0t0q0E210|1,0A140h1M2e1J1L1K1s0o1.0X1n0A1$1~1r1c1e0S1y2o0m2q0A0u2u1r0e27142c2e2I0)1R222w1Y2B0t0-0s0$0d2b2M0%2L1-2O1z2Q2S0$0c2W1S2e2F0q2e2u2h0o1L2m2#0X0E2C1*142;152G2Z2d2+332{0K2H2M2n010g0$0K0v34382!1g1z0I0$0z3g323a0A0v0$27291S0k1v3o2c3a0#040n3z392_010A0$0s0`0k0r0q0r0t3F3i2x013C0x3g3n3A3H3J040T0t0k3P3R0}2X3p3H3C0w3Y3/3j0X3C0i3g060z3~3Z3G3^3b3t0L3Q0{3-2,403T2P3K3M3O3Q3S2N420u0$0l4h3q3K0.3*4g482d0(0h362/17310h2 2f2?0|2i4F0y1u4y4B1d2Y4B0L0N0P04.

###(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=21pPk/:hg*i(dbeulqrof)3a4 nSvyctmsw050o0q0H0z0m0s0J0B0G0s0z0J0J0b010H0m0e010406050J0r0I0I0z0u0F040D0v0s0r0#0v0C050h0,0.0:0=0*0e0405150~180h150*0o0m0E0T0V0X0Z0j0m0k0j0s1m0j0H0(050O0p0s0q1h0W0Y011l1n1p1n0H1v1x1t0H0u160H0j0T0^0J0e0z0C0Z0c011z1j010w0Q0q0C0z0I0q1t1S1U1Z1B1$1x1)1+0(0a0B0f0u0v0e0v0J0m0{0C0B0M1Q0u0u0q0G230~1.0C160h1O2g1L1N1M1u0o1:0Z1p0C1(201t1e1g0U1A2q0m2s0C0v2w1t0e29162e2g2K0+1T242y1!2D0u0/0s0(0d2d2O0)2N1/2Q1B2S2U0(0c2Y1U2!2e2p012)0z2V040y2-2f0*2:2%0Z2?2^0A2{2g2H0q2g2w2j0o1N2o2 010G2E1,1639172I2#2f34053g0M2J2O2;0g0C0(0w1}0I3p2~1i1B0K0(0B3C3u3e0C3x040/1O3J2$3E0Z3G043I0 2Z3n3v3N0m0I1 0u0H343I3D2z2=0(0e0m342}3K3T010g0(0M0w3R2P3`3V3X2M3.2R0w3}0m0J0t0r0q3,3!3e0%040n402;3N0u0z0F0|4l4h0(0x4f461B4i0i3@0B4C3-3_3/3N0P294w4F1!0v0(0b4K3S4G3;3?3Y2.4g3`4N040l4s3`4n4p4r4V3o4x0Z4Z0l4#4+3t4R1!0I0m2+4B4D4X3/3|04290H0r0u0}4=4E4@2(0(4I4e4=0*0h3r37193m0h3k2h3b0~2k5p0z1w5i5l1f2!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=21p6Pk/h:g7;0i(dbeulqrof)w5x34 nSvyctmsa050r0t0M0P0p0v0O0G0L0v0P0O0O0b010M0p0e010406050O0u0N0N0P0x0K040I0y0v0u0*0y0H050i0;0?0^0`0/0e04051a131d0i1a0/0r0p0J0Y0!0$0(0j0p0l0j0v1r0j0M0-050T0s0v0t1m0#0%011q1s1u1s0M1A1C1y0M0x1b0M0j0Y0}0O0e0P0H0(0c011E1o010z0V0t0H0P0N0t1y1X1Z1(1G1+1C1.1:0-0a0G0g0x0y0e0y0O0p100H0G0R1V0x0x0t0L28131?0H1b0i1T2l1Q1S1R1z0r1^0(1u0H1-251y1j1l0Z1F2v0p2x0H0y2B1y0e2e1b2j2l2P0:1Y292D1)2I0x0@0v0-0d2i2T0.2S1@2V1G2X2Z0-0c2%1Z2)2j2u012.0P2!040E2=2k0/2^2,0(2{2}0F302@2T2_360-0C39323b342`0y2Y2|0-0f3g2*2U1n2-3l2/040m391e2N132B2o0r1S2t3j0L2J1;1b3D1c3B2R142(053J0R2O3i3t0(0h0H0-0z220N3z333Y010B0-0G3*3X2E2`3#040@1T3;2+3,3.043:3R2?3r2_3!0-0p0N240x0M393:3+3?3^0O0w4b3q4f1)0h0-0R0z3|3s3?3 412R4m2-0z0-0@0z112g0p114d443j0,040q4s3c0-0D4O4K0-0A4I4y0(4L0k3g0G4$4e3=4n474r422k4(3}4g4Q4W4)1G0y0-020l0M0n4?4:1)0N0p0-0o4 4t1)4Z4#4%5b4J3,3^0K562_4_040b5h3j4h4j4c4-3W501G4L4N5r5d4;044R5x4X014L4V5r065c5D4o040t0W0t5m3,595H5b5J4@350-5g5r4/574^0-5l5!5y5153042$5T4%5+1G5L2e0M0u0x125*5D5f3q0i3U0t2l2M633C1k3E2o2r2m0P1B660i3D0/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=21p6Pk/+h:g7;0*i(dbeulrof8),wF534 nSvyctmsa050t0v0P0S0r0x0R0J0O0x0S0R0R0b010P0r0e010406050R0w0Q0Q0S0y0N040L0z0x0w0-0z0K050i0@0_0{0}0=0e04051d161g0i1d0=0t0r0M0#0%0)0+0k0r0m0k0x1u0k0P0:050W0u0x0v1p0(0*011t1v1x1v0P1D1F1B0P0y1e0P0k0#100R0e0S0K0+0c011H1r010A0Y0v0K0S0Q0v1B1!1$1+1J1.1F1;1?0:0a0J0g0y0z0e0z0R0r130K0J0U1Y0y0y0v0O2b161_0K1e0i1W2o1T1V1U1C0t1{0+1x0K1:281B1m1o0$1I2y0r2A0K0z2E1B0e2h1e2m2o2S0?1#2c2G1,2L0y0`0x0:0d2l2W0;2V1`2Y1J2!2$0:0c2*1$2,2m2x012;0S2%040H2^2n0=2{2/0+2~300I332`2W2|390:0G3c353e372}0z2#2 0:0f3j2-2X1q2:3o2=040n3t363w383y3q040B3c1h2Q162E2r0t1V2w3m0O2M1@1e3O1f3M2U172+053U0U2R3l3E010h0:0U0A3K3D2H010E0:0J3?3,3^0K0A0:0`0A142j0r143c3|3@1,0/040s3}2.3-0K0:0x140m0w0v0w0y4g3v3^4d0D493u3f4k0{0m4p4r3$2_4y3m4d0C4x4b1J4d0l3j0J4R4a3~1,3/040r3=4F2n4T4h3 4k4m4o4q4L4U1J0z0:020x0P0o4-4%1,0Q0r0:0p4_4t4c0:4P4!0;4S574$511J4W2h0P4q1555592|0h0O0:0F2 0R0v4Q4S4H3-4W0v1x4Z2S5i3m4j040%0y4C4,5h5t3^4:044=4@502|4|4~5P4I535r585A5u0:5d5f5T5u5l045n0Z5q5506575J4V0:5w5p5%4u5V5.5X4R5;2:0:0e0v0y0r1?1T5-5z5 0+5L0b5_4{4}042@556a015L0q4s4z5D4*4D6e4/0:0j6t0+5R6h6o3m6m6B4i4A5F6s5|5}6k5c0V5$5I4M386163650V2h3t0i3)0v2o2P6!3N1n3P2r2u2p0S1E6%0i3O0=6;0V0X0Z04.