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)
(Ctrl+I)
Entrer ou sortir du mode "deux colonnes"
(Alt+: ; Ctrl pour inverser les colonnes)
Entrer ou sortir du mode "plein écran"
(Esc)
(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.c3f;5a47)w=/ki2lbegx+phn0SP:1(-dsym 8o*utrv6050H0t0Q0h0p0r0I0L0c0r0h0I0I0m010Q0p0x010406050I0P0K0K0h0R0J040B0N0r0P0.0N0z050n0^0`0|0~0?0x04051e171h0n1e0?0H0p0S0$0(0*0,0y0p0u0y0r1v0y0Q0;050X0s0r0t1q0)0+011u1w1y1w0Q1E1G1C0Q0R1f0Q0y0$110I0x0h0z0,0q011I1s010e0Z0t0z0h0K0t1C1#1%1,1K1/1G1=1@0;0a0L0C0R0N0x0N0I0p140z0L0V1Z0R0R0t0c2c171`0z1f0n1X2p1U1W1V1D0H1|0,1y0z1;291C1n1p0%1J2z0p2B0z0N2F1C0x2i1f2n2p2T0@1$2d2H1-2M0R0{0r0;0E2m2X0=2W1{2Z1K2#2%0;0q2+1%2-2n2y012=0h2(040d2_2o0?2|2:0,2 310i342{2X2}3a0;0g3d363f382~0N2$300;0T3d1i2R172F2s0H1W2x3n0c2N1^1f3y1g3w2V182,053E0V2S3m1r1K0o0;0V0e3u373T0,0l0;0L3Z3S2I2~0e0;0r0N0c0h2l3M2`2.2Y3#010:040F3*2/3|0z0;0v413{3,3~0k3d3)3!490;0D3k0L4j4d3+1-3V040p3Y3^2o4l423,4404464s3R4v1-0N0;020r0Q0f0m472}0K0p2@0g0A4c3`2}3~4h4A064k4Z4u482!0;0X0R4q4S4e4D0;4K4A4#4M4O040j3j4;0L4Y4k4T3n4o0t0!0t4,4m1K4V4i4!4j4 434(0|4+4;5c3,4E044:2T4=3n4N0;4_554C1K5k0w5t4$1K0K3.040A0b0q0M4L3n5k0O5I3|3~404A5i4%4y5M5j0;0G5U1-5q040q4Q5Y570;4b4X4Z5R3U0;2i0Q0P0R165h4-2;5e4*4r2T0?0n3P0t2p2Q633x1o3z2s2v2q0h1F660n3y600V0X0Z0I04.
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)
(Ctrl+I)
Entrer ou sortir du mode "deux colonnes"
(Alt+: ; Ctrl pour inverser les colonnes)
Entrer ou sortir du mode "plein écran"
(Esc)
(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

.128013c3f;5a4)w=/ki2lbegxphn0SP:1(-dsym o*utrv6050E0r0M0g0n0p0F0I0b0p0g0F0F0k010M0n0u010406050F0L0H0H0g0N0G040y0J0p0L0*0J0w050l0;0?0^0`0/0u04051a131d0l1a0/0E0n0O0Y0!0$0(0v0n0s0v0p1r0v0M0-050T0q0p0r1m0#0%011q1s1u1s0M1A1C1y0M0N1b0M0v0Y0}0F0u0g0w0(0o011E1o010d0V0r0w0g0H0r1y1X1Z1(1G1+1C1.1:0-0a0I0z0N0J0u0J0F0n100w0I0R1V0N0N0r0b28131?0w1b0l1T2l1Q1S1R1z0E1^0(1u0w1-251y1j1l0Z1F2v0n2x0w0J2B1y0u2e1b2j2l2P0:1Y292D1)2I0N0@0p0-0B2i2T0.2S1@2V1G2X2Z0-0o2%1Z2)2j2u012.0g2!040c2=2k0/2^2,0(2{2}0h302@2T2_360-0f39323b342`0J2Y2|0-0P391e2N132B2o0E1S2t3j0b2J1;1b3u1c3s2R142(053A0R2O3i1n1G0m0-0R0d3q333P0(0j0-0I3V3O2E2`0d0-0@0d112g0n11393#3W3(0,040C3$2+3X2`0-0t3|2U3~3_0i3=2*433^0-0A3g0I4e3?3%1)3R040n3U3I2?4g3}3(0w40473@1)0J0-020s0M0e0k422_0H0n0-0x4u4h1G3_4c4n314f4R4p492W0-0G4K4q4w0-4D4P044T4F4H042;4%482_4x040K4E3j4s04414%0I064R4/3j4j0r0W0r4Y4U4M4b4d4S4e503~4_4X4|5d3(4;4$2P4)4^4t4.4v1G4;0D4@3~4G2#5a5c5r0(4j2e0M0L0N125h5B3 045g2P0/0l3L0r2l2M5S3t1k3v2o2r2m0g1B5V0l3u5P0R0T0V0F04.
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)
(Ctrl+I)
Entrer ou sortir du mode "deux colonnes"
(Alt+: ; Ctrl pour inverser les colonnes)
Entrer ou sortir du mode "plein écran"
(Esc)
(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

.128013cfa)w=/ki2lbeghpnSP,:1(dsym o*utrv050y0n0G0d0j0l0z0C0b0l0d0z0z0g010G0j0q010406050z0F0B0B0d0H0A040s0D0l0F0Z0D0r050h0*0,0.0:0(0q0405130|160h130(0y0j0I0R0T0V0X0p0j0o0p0l1k0p0G0$050M0m0l0n1f0U0W011j1l1n1l0G1t1v1r0G0H140G0p0R0?0z0q0d0r0X0k011x1h010c0O0n0r0d0B0n1r1Q1S1X1z1!1v1%1)0$0a0C0t0H0D0q0D0z0j0_0r0C0K1O0H0H0n0b210|1,0r140h1M2e1J1L1K1s0y1.0X1n0r1$1~1r1c1e0S1y2o0j2q0r0D2u1r0q27142c2e2I0)1R222w1Y2B0H0-0l0$0w2b2M0%2L1-2O1z2Q2S0$0k2W1S2e2F0n2e2u2h0y1L2m2#0X0b2C1*142;152G2Z2d2+332{0K2H2M2n010i0$0K0c34382!1g1z0f0$0C3g323a0r0c0$27291S0o1v3o2c3a0#040x3z392_010r0$0l0`0o0F0n0F0H3F3i2x013C0u3g3n3A3H3J040T0H0o3P3R0}2X3p3H3C0e3Y3/3j0X3C0v3g060C3~3Z3G3^3b3t0L3Q0{3-2,403T2P3K3M3O3Q3S2N420D0$0E4h3q3K0.3*4g482d0C0(0h362/17310h2 2f2?0|2i4G0d1u4z4C1d2Y4C0L0N0P04.

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
(Ctrl+I)
Entrer ou sortir du mode "deux colonnes"
(Alt+: ; Ctrl pour inverser les colonnes)
Entrer ou sortir du mode "plein écran"
(Esc)
(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

.1280133cfa4)w=/kqi2lbegphnSP:1(dsym o*utrv050A0q0I0e0m0o0B0E0c0o0e0B0B0i010I0m0s010406050B0H0D0D0e0J0C040v0F0o0H0#0F0u050j0,0.0:0=0*0s0405150~180j150*0A0m0K0T0V0X0Z0t0m0r0t0o1m0t0I0(050O0p0o0q1h0W0Y011l1n1p1n0I1v1x1t0I0J160I0t0T0^0B0s0e0u0Z0n011z1j010d0Q0q0u0e0D0q1t1S1U1Z1B1$1x1)1+0(0a0E0w0J0F0s0F0B0m0{0u0E0M1Q0J0J0q0c230~1.0u160j1O2g1L1N1M1u0A1:0Z1p0u1(201t1e1g0U1A2q0m2s0u0F2w1t0s29162e2g2K0+1T242y1!2D0J0/0o0(0y2d2O0)2N1/2Q1B2S2U0(0n2Y1U2!2e2p012)0e2V040b2-2f0*2:2%0Z2?2^0f2{2g2H0q2g2w2j0A1N2o2 010c2E1,1639172I2#2f34053g0M2J2O2;0k0u0(0d1}0D3p2~1i1B0h0(0E3C3u3e0u3x040/1O3J2$3E0Z3G043I0 2Z3n3v3N0m0D1 0J0I343I3D2z2=0(0s0m342}3K3T010k0(0M0d3R2P3`3V3X2M3.2R0d3}0m0B0l0H0q3,3!3e0%040z402;3N0J0e0C0|4l4h0(0g4f461B4i0x3@0E4C3-3_3/3N0P294w4F1!0F0(0i4K3S4G3;3?3Y2.4g3`4N040G4s3`4n4p4r4V3o4x0Z4Z0G4#4+3t4R1!0D0m2+4B4D4X3/3|04290I0H0J0}4=4E4@2(0(4I4e4=0*0j3r37193m0j3k2h3b0~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)
(Ctrl+I)
Entrer ou sortir du mode "deux colonnes"
(Alt+: ; Ctrl pour inverser les colonnes)
Entrer ou sortir du mode "plein écran"
(Esc)
(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

.128013c3f;5a47)w=/kqi2lbegxphn0SP:1(dsym outrv6050F0t0M0g0p0r0G0J0b0r0g0G0G0l010M0p0w010406050G0L0I0I0g0N0H040A0K0r0L0*0K0y050m0;0?0^0`0/0w04051a131d0m1a0/0F0p0O0Y0!0$0(0x0p0u0x0r1r0x0M0-050T0s0r0t1m0#0%011q1s1u1s0M1A1C1y0M0N1b0M0x0Y0}0G0w0g0y0(0q011E1o010d0V0t0y0g0I0t1y1X1Z1(1G1+1C1.1:0-0a0J0B0N0K0w0K0G0p100y0J0R1V0N0N0t0b28131?0y1b0m1T2l1Q1S1R1z0F1^0(1u0y1-251y1j1l0Z1F2v0p2x0y0K2B1y0w2e1b2j2l2P0:1Y292D1)2I0N0@0r0-0D2i2T0.2S1@2V1G2X2Z0-0q2%1Z2)2j2u012.0g2!040c2=2k0/2^2,0(2{2}0h302@2T2_360-0f39323b342`0K2Y2|0-0P3g2*2U1n2-3l2/040i391e2N132B2o0F1S2t3j0b2J1;1b3D1c3B2R142(053J0R2O3i3t0(0n0y0-0d220I3z333Y010k0-0J3*3X2E2`3#040@1T3;2+3,3.043:3R2?3r2_3!0-0p0I240N0M393:3+3?3^0G0o4b3q4f1)0n0-0R0d3|3s3?3 412R4m2-0d0-0@0d112g0p114d443j0,040E4s3c0-0v4O4K0-0j4I4y0(4L0C3g0J4$4e3=4n474r422k4(3}4g4Q4W4)1G0K0-020u0M0e4?4:1)0I0p0-0z4 4t1)4Z4#4%5b4J3,3^0H562_4_040l5h3j4h4j4c4-3W501G4L4N5r5d4;044R5x4X014L4V5r065c5D4o040t0W0t5m3,595H5b5J4@350-5g5r4/574^0-5l5!5y5153042$5T4%5+1G5L2e0M0L0N125*5D5f3q0m3U0t2l2M633C1k3E2o2r2m0g1B660m3D0/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)
(Ctrl+I)
Entrer ou sortir du mode "deux colonnes"
(Alt+: ; Ctrl pour inverser les colonnes)
Entrer ou sortir du mode "plein écran"
(Esc)
(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

.128013c3f;5a4F7)w=/ki2lbeg+phn0SP,:1(dsym 8o*utrv6050G0t0P0g0p0r0H0K0b0r0g0H0H0m010P0p0w010406050H0O0J0J0g0Q0I040A0M0r0O0-0M0y050n0@0_0{0}0=0w04051d161g0n1d0=0G0p0R0#0%0)0+0x0p0u0x0r1u0x0P0:050W0s0r0t1p0(0*011t1v1x1v0P1D1F1B0P0Q1e0P0x0#100H0w0g0y0+0q011H1r010d0Y0t0y0g0J0t1B1!1$1+1J1.1F1;1?0:0a0K0B0Q0M0w0M0H0p130y0K0U1Y0Q0Q0t0b2b161_0y1e0n1W2o1T1V1U1C0G1{0+1x0y1:281B1m1o0$1I2y0p2A0y0M2E1B0w2h1e2m2o2S0?1#2c2G1,2L0Q0`0r0:0E2l2W0;2V1`2Y1J2!2$0:0q2*1$2,2m2x012;0g2%040c2^2n0=2{2/0+2~300h332`2W2|390:0f3c353e372}0M2#2 0:0S3j2-2X1q2:3o2=040j3t363w383y3q040L3c1h2Q162E2r0G1V2w3m0b2M1@1e3O1f3M2U172+053U0U2R3l3E010o0:0U0d3K3D2H010l0:0K3?3,3^0y0d0:0`0d142j0p143c3|3@1,0/040F3}2.3-0y0:0r140u0O0t0O0Q4g3v3^4d0C493u3f4k0{0u4p4r3$2_4y3m4d0k4x4b1J4d0D3j0K4R4a3~1,3/040p3=4F2n4T4h3 4k4m4o4q4L4U1J0M0:020r0P0e4-4%1,0J0p0:0z4_4t4c0:4P4!0;4S574$511J4W2h0P4q1555592|0o0b0:0i2 0H0t4Q4S4H3-4W0t1x4Z2S5i3m4j040%0Q4C4,5h5t3^4:044=4@502|4|4~5P4I535r585A5u0:5d5f5T5u5l045n0Z5q5506575J4V0:5w5p5%4u5V5.5X4R5;2:0:0w0t0Q0p1?1T5-5z5 0+5L0m5_4{4}042@556a015L0N4s4z5D4*4D6e4/0:0v6t0+5R6h6o3m6m6B4i4A5F6s5|5}6k5c0V5$5I4M386163650V2h490K0=0n3)0t2o2P6$3N1n3P2r2u2p0g1E6)0n3O6Z0U0W0Y0H04.