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
.128013bSu,3_l(wn/)paPk:hors1vc2mgydi fte=+050D0I0H0o0E0h0v0F0y0h0o0v0v0J010H0E0n010406050v0d0A0A0o0u0C040c0t0h0d0#0t0k050l0,0.0:0=0*0n040~1505180l181a150*0D0E0x0T0V0X0Z0s0E0B0s0h1o0s0H0(050O0b0h0I1j0W0Y011n1p1r1p0H1x1z1v0H0b0t0D0=1w0u160H0s0T0^0v0n0o0k0Z0z011B1l010G0Q0I0k0o0A0I1v1Z1#1*1D1-1z1:1=0(0a0F0p0u0t0n0t0v0E0{0k0F0M1X0u0u0I0y2a0~1^0k160l1V2n0H1T1S1U0D1`0Z1r0k1/271v1g1i0U1C2x0E2z0k1P1h1v0n2g162l2n2R0+1!2b2F1+2K0u0/0h0(0w2k2V0)2U1_2X1D2Z2#0(0z2)1#2+2l2w012:0o2$040f2@2m172P0~2D2q0D2u2{0y1P1?163719352T0 2*053c0M2Q2V2{0q0(0M0G323p2-1k1D0j0(0F3w2,2W3z0Z0k0G0(0o0D1g2a2z0u0g0D0d2g0I0v3E2`2.0Z0%040i3Y3q3!2|3t3U0I0I0g2(3k2^3F2{3$0e3w3D3Z3H3,043T3V0g2?3?333~2G013$0m0r3w060F4g3}3*3 0k0(0v0t0.3:0v2h0|0M3X46044i3y490t0(0J3|3^3+4l043c0k0x0I0u0#3R1/0g4r4J4u3)4z1+3$3(4w4F4k3-433=2T484X0(0m4E4+1D4B040K4/4j494H4J4L4N0E4P0k4R4s0k4U4!4:3#0(4Z4*4_2Y4%3/444V3G494b3|0F4f4h4#493s042g0H3U0}4w4y5i5d4I0|4}4O0g4Q0s0g0A2I520y5h3_595N4G4m4o1=5L4t3W5Q3 5k4w0*0l3n0I2n2O5)361h382q2s2o1O1Q2q0o1y5,0l375$0M0O0Q0v04.
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.
.128013buS,3_4l(wn/)paPké0:hors1v7c25mgydi9eft =050I0L0N0p0J0i0y0O0C0i0p0y0y0P010N0J0o010406050y0c0F0F0p0x0H040d0w0i0c0*0w0l050m0;0?0^0`0/0o04131a051d0m1d1f1a0/0I0J0A0Y0!0$0(0v0J0G0v0i1t0v0N0-050T0b0i0L1o0#0%011s1u1w1u0N1C1E1A0N0b0w0I0`1B0x1b0N0v0Y0}0y0o0p0l0(0D011G1q010M0V0L0l0p0F0L1A1(1*1/1I1=1E1^1`0-0a0O0q0x0w0o0w0y0J100l0O0R1$0x0x0L0C2f131}0l1b0m1!2s0N1Y1X1Z0I1 0(1w0l1@2c1A1l1n0Z1H2C0J2E0l1U1m1A0o2l1b2q2s2W0:1)2g2K1:2P0x0@0i0-0z2p2!0.2Z1~2$1I2(2*0-0D2.1*2:2q2B012^0p2+040f2|2r0/2 2?0(32340h372~2!303d0-0E3g1c2U132I2v0I2z300C1U1{1b3r1e3p2Y142/053w0R2V3i3b010r0-0R0M3n3a1p1I0k0-0O3R3K3T3c0M0-0N0L0y0N0g0p0I1l2f2E0x0g0I0c2l3)3Y2=3!010,040j0n0u3g060O463X3S2L3M0-1H0L0x0N3g483Z4a0l4c3.2e0J113;3?3^0L3`3E2}2;2#3}3 0j0j3{4z4a0F0J2,4E303 0e4h4y304H2,2{4w2r4P3L4M4O491:4R350t4K4X0-0n4N4U044i3|4a4B4)3}4$4T2Y4!1I4Y4.4:4F4#4I043m4.4W4A0-4-2W504Q533f564|0(3 0n0n4Z4j1:0w0-0P0P5m4;1:4?5g5n1I4$365x5u4}595t515z530z0B4@4=5F4 574G530f5f4{5y5i4+5a3F5h010y1-040)3)0N0O0t0O0s0C0v0w0c0s0144475c3L3N044d4f5G3j4m3/4p0l4r3@3_0y5M5v0-4C6c5I4J5C5H5X045Z2}5|4^534(6j4L5O5b5Q520-0f6s5V5D6l4,624*406g0(4_6J3~6v2/6p5R0-6B5!5W6N6m6G6q6z6T4x5#5j5l5P5#5p045r6Y5N6I6t3L5A6M4~6w5#4$2-6=586X6*6V4$6#4V6%5Y6M5%0-5*3*0O0z5/5;5?5^5`476x1I5~604g716D31644o4q4e4s6a6^6e4D6~6R046}6C6k6W6n2r6Q6y040D4`6U7r6_6P7l6K5S743J7R777q7H5w7G5d2`7z706`725e7X7U7I6/7M5U7Q7$4+6)7-7r6,6.7#6u6;7(6?5e7+7J4/7;6L7C6d7,7T6{5S7^6$6V5j887;795)3(7c0D7f5=5@5_4.457k5#7n0$4e7p7}7H4l5 4n3:7w694u6b8c5E407B846Z7E877?6h540K8W81856!7+6F8$6 8S7_7)7N8#8F8/7:768e6o8a7W8)7|8f6V7 5s8+6:8-8j7r4$8i758k6O8`8g6S8;8 976r8)8m5#8o7b5,0f8t7h8w2W0/0m3H0L2s2T9y3q1m3s2v2x2t1T1V2v0p1D9B0m3r9v0R0T0V0y04.
# Tests(insensible à la casse)(Ctrl+I)
(Alt+: ; Ctrl pour inverser les colonnes)
(Esc)