Divises

Dissenyeu les funcions següents i deseu-les al fitxer divises.py:

divises.extreu_moneda(imp_moneda)

Donat un string amb el format

import moneda

a on import no conté decimals, moneda sempre conté tres caràcters i a on la separació entre import i moneda sempre és un únic espai en blanc, retorna un nou string amb la moneda. En cas de que l’string sigui buit, retorna un string buit.

Per exemple:

>>> from divises import extreu_moneda
>>> extreu_moneda('235 EUR')
'EUR'
>>> extreu_moneda('1029 USD')
'USD'
>>> extreu_moneda('')
''

Nota

Podeu descarregar el fitxer amb tests divises1.txt

divises.extreu_import(quant_moneda)

Donat un string amb el format

import moneda

a on import no conté decimals, moneda sempre conté tres caràcters i a on la separació entre import i moneda sempre és un únic espai en blanc, retorna un enter amb l’import. En cas de que l’string sigui buit, retorna -1.

Per exemple:

>>> from divises import extreu_import
>>> extreu_import('235 EUR')
235
>>> extreu_import('1029 USD')
1029
>>> extreu_import('')
-1

Nota

Podeu descarregar el fitxer amb tests divises2.txt

divises.calcula_desp_empleat(despesa)

Donat un string amb una despesa, retorna un float amb l’import de la despesa en euros. El format de la despesa és

tipus_empleat:import moneda

a on tipus empleat és un únic carácter) que pot ser “D” (directiu), “C” (cap de projecte) o “T” (tècnic), import no conté decimals, moneda sempre conté tres caràcters i la separació entre import i moneda sempre és un únic espai en blanc.

En el cas de que el tipus d’empleat sigui directiu, la funció retornarà 0.0

Només poden aparèixer dos tipus de moneda, “USD” i “AUD” i els factors de conversió a aplicar seran fixos, 1USD = 0.9EUR i 1AUD = 0.65EUR.

Aquesta funció ha de cridar extreu_moneda() i extreu_import() per resoldre el problema.

Per exemple:

>>> from divises import calcula_desp_empleat
>>> round(calcula_desp_empleat('D:230 EUR'),1)
0.0
>>> round(calcula_desp_empleat('C:120 USD'),1)
108.0
>>> round(calcula_desp_empleat('T:110 AUD'),1)
71.5

Nota

Podeu descarregar el fitxer amb tests divises3.txt

divises.converteix_despesa(despesa)

Donat un string amb una despesa, retorna un altre string amb el format

import EUR

a on import és la part entera de l’import de la despesa convertit a euros.

El format de la despesa és

tipus_empleat:import moneda

a on tipus empleat és un únic carácter) que pot ser “D” (directiu), “C” (cap de projecte) o “T” (tècnic), import no conté decimals, moneda sempre conté tres caràcters i la separació entre import i moneda sempre és un únic espai en blanc.

En el cas de que el tipus d’empleat sigui directiu, la funció retornarà 0 com a import.

Només poden aparèixer dos tipus de moneda, “USD” i “AUD” i els factors de conversió a aplicar seran fixos, 1EUR = 0.9USD i 1EUR = 0.65AUD.

Aquesta funció ha de cridar calcula_desp_empleat() per resoldre el problema.

Per exemple:

>>> from divises import converteix_despesa
>>> converteix_despesa('C:120 USD')
'108 EUR'
>>> converteix_despesa('C:110 AUD')
'71 EUR'
>>> converteix_despesa('D:230 EUR')
'0 EUR'

Nota

Podeu descarregar el fitxer amb tests divises4.txt

Solució

Disposeu de solucions al fitxer divises.py