Curses¶
Deseu totes les funcions d’aquest problema al mateix fitxer anomenat
curses.py.
Disposeu de la funció segons que, donat un temps expressat en
hores, minuts i segons, retorna el seu valor expressat en
segons. També de la funció hms que, donat un temps expressat en
segons, retorna el seu valor expressat en hores, minuts i
segons:
def segons(hora, minut, segon):
return hora * 3600 + minut * 60 + segon
def hms(segons):
hores = segons // 3600
resta = segons % 3600
minuts = resta // 60
segons = resta % 60
return hores, minuts, segons
Nota
Copieu i enganxeu el codi de les funcions segons i hms
al començament del fitxer curses.py.
Dissenyeu les següents funcions fent ús al seu codi de crides a les anteriors i també a les que definiu:
Dissenyeu la funció
difer_s(h1, m1, s1, h2, m2, s2)que, donats dos temps expressats en hores, minuts i segons, retorni la diferència de temps entre els dos expressada en segons (en valor absolut).Exemples:
>>> difer_s(3, 23, 17, 3, 34, 1) 644 >>> difer_s(3, 23, 17, 3, 23, 16) 1 >>> difer_s(3, 23, 17, 3, 24, 17) 60 >>> difer_s(4, 0, 0, 3, 56, 31) 209
Nota
Podeu descarregar el fitxer amb tests
difer_s.txt.Dissenyeu la funció
difer_hms(h1, m1, s1, h2, m2, s2)que, donats dos temps expressats en hores, minuts i segons, retorni la diferència de temps entre els dos expressada en hores, minuts i segons.Exemples:
>> difer_hms(3, 23, 17, 3, 34, 1) (0, 10, 44) >>> difer_hms(3, 23, 17, 3, 23, 16) (0, 0, 1) >>> difer_hms(3, 23, 17, 3, 24, 17) (0, 1, 0) >>> difer_hms(4, 0, 0, 3, 56, 31) (0, 3, 29)
Nota
Podeu descarregar el fitxer amb tests
difer_hms.txt.Dissenyeu la funció
mitjana3_s(h1, m1, s1, h2, m2, s2, h3, m3, s3)que, donats tres temps expressats en hores, minuts i segons, retorni un enter amb la mitjana de temps de les tres curses expressada en segons.Exemples:
>>> mitjana3_s(3, 44, 13, 3, 51, 20, 4, 1, 14) 13935 >>> mitjana3_s(3, 44, 13, 3, 44, 13, 3, 44, 13) 13453 >>> mitjana3_s(3, 50, 10, 4, 0, 10, 3, 55, 10) 14110 >>> mitjana3_s(3, 59, 14, 4, 1, 14, 4, 0, 14) 14414
Nota
Podeu descarregar el fitxer amb tests
mitjana3_s.txt.Dissenyeu la funció
mitjana3_hms(h1, m1, s1, h2, m2, s2, h3, m3, s3)que, donats tres temps expressats en hores, minuts i segons, retorni la mitjana de temps de les tres curses expressada en hores, minuts i segons.Exemples:
>>> mitjana3_hms(3, 44, 13, 3, 51, 20, 4, 1, 14) (3, 52, 15) >>> mitjana3_hms(3, 44, 13, 3, 44, 13, 3, 44, 13) (3, 44, 13) >>> mitjana3_hms(3, 50, 10, 4, 0, 10, 3, 55, 10) (3, 55, 10) >>> mitjana3_hms(3, 59, 14, 4, 1, 14, 4, 0, 14) (4, 0, 14)
Nota
Podeu descarregar el fitxer amb tests
mitjana3_hms.txt.
Solucions
Disposeu de solucions al fitxer curses.py