3. Proves d’atletisme (3 punts)

Desa les dues funcions d’aquest problema al mateix fitxer anomenat atletisme.py.

Disposes de la següent funció:

distancia(strDist)

Donat un string strDist, formats per dígits, i opcionalment acabat en el substring “KM”, retorna un enter amb la distància en metres.

Per exemple:

>>> distancia('100')
100
>>> distancia('10500')
10500
>>> distancia('25KM')
25000

A continuació tens el codi de la funció distancia.

def distancia(s):
    if s[-2:].upper() == 'KM':
        dist = 1000*int(s[:-2])
    else:
        dist = int(s)
    return dist

Important

Copia i enganxa el codi de la funció distancia al començament del fitxer atletisme.py.


Dissenya la funció cursa() i desa-la al fitxer atletisme.py.

cursa(strProva)

Donat un string strProva que representa una cursa d’atletisme (com per exemple '800-llisos-F', '3000-marxa-M', '400-relleus-M', '10KM-obstacles-F', …) que té el següent format:

  • un número indeterminat de caràcters que representen la distància de la prova (per exemple '800', '3000', '10KM', …), seguit de un guió '-', i a continuació

  • un número indeterminat de caràcters que identifiquen el tipus de prova (per exemple 'llisos', 'marxa', 'relleus', …), seguit d’un segon guió, i finalment

  • un caràcter 'F' o 'M', que denota prova femenina o masculina.

la funció cursa() retorna dos valors:

  • un int amb la distància total recorreguda, tenint en compte que les curses de relleus multipliquen la distancia per 4 (per exemple, la cursa '400-relleus-M' recorre \(4*400 = 1600\) metres.)

  • un string amb el codi del tipus de prova. Aquest codi està format pels dos primers caràcters del tipus de prova en majúscules. Per exemple, 'LL' per 'llisos'.

Per esbrinar la distància fes servir (crida) la funció distancia i treballa amb la seva resposta.

Per exemple:

>>> cursa('100-llisos-M')
(100, 'LL')
>>> cursa('3000-obstacles-F')
(3000, 'OB')
>>> cursa('10000-llisos-F')
(10000, 'LL')
>>> cursa('10km-marxa-M')
(10000, 'MA')
>>> cursa('100-relleus-F')
(400, 'RE')

Trobaràs més tests al fitxer test-cursa.txt