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
.128013evw1Srcs )_ia:t+3f,o/hpmngPyk=uld2b(050H0b0p0n0m0G0i0j0h0G0n0i0i0E010p0m0x010406050i0F0y0y0n0g0C040f0u0G0F0#0u0z050v0,0.0:0=0*0x040~1505180v181a150*0H0m0c0T0V0X0Z0w0m0A0w0G1o0w0p0(050O0J0G0b1j0W0Y011n1p1r1p0p1x1z1v0p0J0u0H0=1w0g160p0w0T0^0i0x0n0z0Z0I011B1l010s0Q0b0z0n0y0b1v1Z1#1*1D1-1z1:1=0(0a0j0B0g0u0x0u0i0m0{0z0j0M1X0g0g0b0h2a0~1^0z160v1V2n0p1T1S1U0H1`0Z1r0z1/271v1g1i0U1C2x0m2z0z1P1h1v0x2g162l2n2R0+1!2b2F1+2K0g0/0G0(0e2k2V0)2U1_2X1D2Z2#0(0I2)1#2+2l2w012:0n2$040r2@2m172P0~2D2q0H2u2{0h1P1?163719352T0 2*053c0M2Q2V2{0D0(0M0s323p2-1k1D0d0(0j3w2,2W3z0Z0z0s0(0n0H1g2a2z0g0l0H0F2g0b0i3E2`2.0Z0%040K3Y3q3!2|3t3U0b0b0l2(3k2^3F2{3$0t3w3D3Z3H3,043T3V0l2?3?333~2G013$0k0o3w060j4g3}3*3 0z0(0i0u0.3:0i2h0|0M3X46044i3y490u0(0E3|3^3+4l043c0z0c0b0g0#3R1/0l4r4J4u3)4z1+3$3(4w4F4k3-433=2T484X0(0k4E4+1D4B040q4/4j494H4J4L4N0m4P0z4R4s0z4U4!4:3#0(4Z4*4_2Y4%3/444V3G494b3|0j4f4h4#493s042g0p3U0}4w4y5i5d4I0|4}4O0l4Q0w0l0y2I520h5h3_595N4G4m4o1=5L4t3W5Q3 5k4w0*0v3n0b2n2O5)361h382q2s2o1O1Q2q0n1y5,0v375$0M0O0Q0i04.
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.
.128013ev1wSrc7s )_ia:t4f3,o/hpmngPéyk5=uld92b0(050K0b0q0o0n0J0j0k0h0J0o0j0j0H010q0n0y010406050j0I0z0z0o0g0E040f0v0J0I0*0v0A050w0;0?0^0`0/0y04131a051d0w1d1f1a0/0K0n0c0Y0!0$0(0x0n0B0x0J1t0x0q0-050T0N0J0b1o0#0%011s1u1w1u0q1C1E1A0q0N0v0K0`1B0g1b0q0x0Y0}0j0y0o0A0(0M011G1q010s0V0b0A0o0z0b1A1(1*1/1I1=1E1^1`0-0a0k0C0g0v0y0v0j0n100A0k0R1$0g0g0b0h2f131}0A1b0w1!2s0q1Y1X1Z0K1 0(1w0A1@2c1A1l1n0Z1H2C0n2E0A1U1m1A0y2l1b2q2s2W0:1)2g2K1:2P0g0@0J0-0d2p2!0.2Z1~2$1I2(2*0-0M2.1*2:2q2B012^0o2+040t2|2r0/2 2?0(32340r372~2!303d0-0G3g1c2U132I2v0K2z300h1U1{1b3r1e3p2Y142/053w0R2V3i3b010F0-0R0s3n3a1p1I0e0-0k3R3K3T3c0s0-0q0b0j0q0m0o0K1l2f2E0g0m0K0I2l3)3Y2=3!010,040P0l0p3g060k463X3S2L3M0-1H0b0g0q3g483Z4a0A4c3.2e0n113;3?3^0b3`3E2}2;2#3}3 0P0P3{4z4a0z0n2,4E303 0u4h4y304H2,2{4w2r4P3L4M4O491:4R350O4K4X0-0l4N4U044i3|4a4B4)3}4$4T2Y4!1I4Y4.4:4F4#4I043m4.4W4A0-4-2W504Q533f564|0(3 0l0l4Z4j1:0v0-0H0H5m4;1:4?5g5n1I4$365x5u4}595t515z530d0i4@4=5F4 574G530t5f4{5y5i4+5a3F5h010j1-040)3)0q0k0O0k0D0h0x0v0I0D0144475c3L3N044d4f5G3j4m3/4p0A4r3@3_0j5M5v0-4C6c5I4J5C5H5X045Z2}5|4^534(6j4L5O5b5Q520-0t6s5V5D6l4,624*406g0(4_6J3~6v2/6p5R0-6B5!5W6N6m6G6q6z6T4x5#5j5l5P5#5p045r6Y5N6I6t3L5A6M4~6w5#4$2-6=586X6*6V4$6#4V6%5Y6M5%0-5*3*0k0d5/5;5?5^5`476x1I5~604g716D31644o4q4e4s6a6^6e4D6~6R046}6C6k6W6n2r6Q6y040M4`6U7r6_6P7l6K5S743J7R777q7H5w7G5d2`7z706`725e7X7U7I6/7M5U7Q7$4+6)7-7r6,6.7#6u6;7(6?5e7+7J4/7;6L7C6d7,7T6{5S7^6$6V5j887;795)3(7c0M7f5=5@5_4.457k5#7n0$4e7p7}7H4l5 4n3:7w694u6b8c5E407B846Z7E877?6h540L8W81856!7+6F8$6 8S7_7)7N8#8F8/7:768e6o8a7W8)7|8f6V7 5s8+6:8-8j7r4$8i758k6O8`8g6S8;8 976r8)8m5#8o7b5,0t8t7h8w2W0/0w3H0b2s2T9y3q1m3s2v2x2t1T1V2v0o1D9B0w3r9v0R0T0V0j04.
# Tests(insensible à la casse)(Ctrl+I)
(Alt+: ; Ctrl pour inverser les colonnes)
(Esc)