En Travaux
facile
Les durées - Addition de deux durées
Série d'exercices
Cet exercice fait partie d'une série :
Les durées peuvent être exprimées en secondes, en minutes-secondes, ou en heures-minutes-secondes.
Ainsi, une durée de 23 652 secondes peut aussi être exprimée par :
Différents formats secondes = 23652
minutes_secondes = ( 394 , 12 )
heures_minutes_secondes = ( 6 , 34 , 12 )
On souhaite créer une fonction permettant d'additionner deux durées, exprimée en heures, minutes et secondes.
Les deux questions sont indépendantes.
1. Fonction additionner_durees
Écrire la fonction additionner_durees qui prend en paramètre deux durées exprimées en heures, minutes et secondes et renvoie leur somme exprimée en heures, minutes et secondes.
Exemple
>>> additionner_durees (( 1 , 12 , 30 ), ( 2 , 5 , 4 ))
( 3 , 17 , 34 )
Fonctions fournies
Les deux fonctions suivantes sont chargées en mémoire :
la fonction convertir_en_h_min_sec qui prend en paramètre une durée exprimée en secondes et qui renvoie la durée exprimée en heures, minutes et secondes,
Exemple
>>> convertir_en_h_min_sec ( 23652 )
(6, 34, 12)
>>> convertir_en_h_min_sec ( 0 )
(0, 0, 0)
la fonction convertir_en_secondes qui prend en paramètre duree (un tuple de trois entiers représentant la durée en heures-minutes-secondes) et renvoie le nombre total de secondes.
Exemple
>>> duree_a_convertir = ( 1 , 25 , 50 )
>>> convertir_en_secondes ( duree_a_convertir )
5150
>>> convertir_en_secondes (( 6 , 34 , 12 ))
23652
.128013,n w(e3m=p)rhkuoiscb/S1vt_dg:ay2P+fl050B0g0z0E0r0K0s0d0t0K0E0s0s0j010z0r0k010406050s0p0i0i0E0m0F040w0q0K0p0#0q0c050v0,0.0:0=0*0k040~1505180v181a150*0B0r0y0T0V0X0Z0n0r0C0n0K1o0n0z0(050O0u0K0g1j0W0Y011n1p1r1p0z1x1z1v0z0u0q0B0=1w0m160z0n0T0^0s0k0E0c0Z0G011B1l010J0Q0g0c0E0i0g1v1Z1#1*1D1-1z1:1=0(0a0d0H0m0q0k0q0s0r0{0c0d0M1X0m0m0g0t2a0~1^0c160v1V2n0z1T1S1U0B1`0Z1r0c1/271v1g1i0U1C2x0r2z0c1P1h1v0k2g162l2n2R0+1!2b2F1+2K0m0/0K0(0x2k2V0)2U1_2X1D2Z2#0(0G2)1#2+2l2w012:0E2$040h2@2m172P0~2D2q0B2u2{0t1P1?163719352T0 2*053c0M2Q2V2{0o0(0M0J323p2-1k1D0e0(0d3w2,2W3z0Z0c0J0(0E0B1g2a2z0m0A0B0p2g0g0s3E2`2.0Z0%040f3Y3q3!2|3t3U0g0g0A2(3k2^3F2{3$0b3w3D3Z3H3,043T3V0A2?3?333~2G013$0l0D3w060d4g3}3*3 0c0(0s0q0.3:0s2h0|0M3X46044i3y490q0(0j3|3^3+4l043c0c0y0g0m0#3R1/0A4r4J4u3)4z1+3$3(4w4F4k3-433=2T484X0(0l4E4+1D4B040I4/4j494H4J4L4N0r4P0c4R4s0c4U4!4:3#0(4Z4*4_2Y4%3/444V3G494b3|0d4f4h4#493s042g0z3U0}4w4y5i5d4I0|4}4O0A4Q0n0A0i2I520t5h3_595N4G4m4o1=5L4t3W5Q3 5k4w0*0v3n0g2n2O5)361h382q2s2o1O1Q2q0E1y5,0v375$0M0O0Q0s04.
2. Test de la fontion
Compléter la fonction test_additionner_durees avec au moins trois autres tests afin de pouvoir correctement tester la fonction additionner_durees.
Test
La fonction de tests sera appliquée sur une fonction valide, mais aussi sur des fonctions invalides.
.128013,n w5e(93m=0p)rhkuoiscb/S1vt_dg:éay24Pfl7050E0g0C0I0u0O0v0d0w0O0I0v0v0l010C0u0n010406050v0s0k0k0I0p0J040z0t0O0s0*0t0c050y0;0?0^0`0/0n04131a051d0y1d1f1a0/0E0u0B0Y0!0$0(0q0u0F0q0O1t0q0C0-050T0x0O0g1o0#0%011s1u1w1u0C1C1E1A0C0x0t0E0`1B0p1b0C0q0Y0}0v0n0I0c0(0K011G1q010N0V0g0c0I0k0g1A1(1*1/1I1=1E1^1`0-0a0d0M0p0t0n0t0v0u100c0d0R1$0p0p0g0w2f131}0c1b0y1!2s0C1Y1X1Z0E1 0(1w0c1@2c1A1l1n0Z1H2C0u2E0c1U1m1A0n2l1b2q2s2W0:1)2g2K1:2P0p0@0O0-0A2p2!0.2Z1~2$1I2(2*0-0K2.1*2:2q2B012^0I2+040j2|2r0/2 2?0(32340L372~2!303d0-0f3g1c2U132I2v0E2z300w1U1{1b3r1e3p2Y142/053w0R2V3i3b010r0-0R0N3n3a1p1I0e0-0d3R3K3T3c0N0-0C0g0v0C0D0I0E1l2f2E0p0D0E0s2l3)3Y2=3!010,040h0o0G3g060d463X3S2L3M0-1H0g0p0C3g483Z4a0c4c3.2e0u113;3?3^0g3`3E2}2;2#3}3 0h0h3{4z4a0k0u2,4E303 0b4h4y304H2,2{4w2r4P3L4M4O491:4R350m4K4X0-0o4N4U044i3|4a4B4)3}4$4T2Y4!1I4Y4.4:4F4#4I043m4.4W4A0-4-2W504Q533f564|0(3 0o0o4Z4j1:0t0-0l0l5m4;1:4?5g5n1I4$365x5u4}595t515z530A0P4@4=5F4 574G530j5f4{5y5i4+5a3F5h010v1-040)3)0C0d0m0d0H0w0q0t0s0H0144475c3L3N044d4f5G3j4m3/4p0c4r3@3_0v5M5v0-4C6c5I4J5C5H5X045Z2}5|4^534(6j4L5O5b5Q520-0j6s5V5D6l4,624*406g0(4_6J3~6v2/6p5R0-6B5!5W6N6m6G6q6z6T4x5#5j5l5P5#5p045r6Y5N6I6t3L5A6M4~6w5#4$2-6=586X6*6V4$6#4V6%5Y6M5%0-5*3*0d0A5/5;5?5^5`476x1I5~604g716D31644o4q4e4s6a6^6e4D6~6R046}6C6k6W6n2r6Q6y040K4`6U7r6_6P7l6K5S743J7R777q7H5w7G5d2`7z706`725e7X7U7I6/7M5U7Q7$4+6)7-7r6,6.7#6u6;7(6?5e7+7J4/7;6L7C6d7,7T6{5S7^6$6V5j887;795)3(7c0K7f5=5@5_4.457k5#7n0$4e7p7}7H4l5 4n3:7w694u6b8c5E407B846Z7E877?6h540i8W81856!7+6F8$6 8S7_7)7N8#8F8/7:768e6o8a7W8)7|8f6V7 5s8+6:8-8j7r4$8i758k6O8`8g6S8;8 976r8)8m5#8o7b5,0j8t7h8w2W0/0y3H0g2s2T9y3q1m3s2v2x2t1T1V2v0I1D9B0y3r9v0R0T0V0v04.
# Tests(insensible à la casse)(Ctrl+I)
(Alt+: ; Ctrl pour inverser les colonnes)
(Esc)