2. Preu bitllet [4]¶
Ens demanen que implementem una funció per calcular el preu d’un bitllet d’avió. El preu dependrà dels kilòmetres del recorregut en avió, del dia de la setmana que volem viatjar i del pes de la maleta que es vol portar. Per fer-ho farem diferents funcions:
En primer lloc, fes una funció anomenada
equipatgeque donat un pes calcula la tarifa de l’equipatge. Hi ha tres tarifes diferents: si pesa 10 quilos o menys és tarifa 1; si pesa més de 10 quilos, però 20 quilos o menys és tarifa 2, i si pesa més de 20 quilos serà tarifa 3.Desa la funció al fitxer
aviacio.py. La funció ha de passar el següent doctest:>>> e=equipatge(5) >>> e 1 >>> e=equipatge(11) >>> e 2 >>> e=equipatge(20) >>> e 2 >>> e=equipatge(25) >>> e 3
Pots descarregar el fitxer amb tests
test-bitllet1.txt.En segon lloc, implementa una funció anomenada
preu_finalla qual calcularà el preu del bitllet a partir d’un enter que donarà els kilòmetres del trajecte, un booleà que indica si el viatge es fa o no en cap de setmana (True vol dir que sí, que és en cap de setmana) i finalment un enter corresponent al pes de l’equipatge.El càlcul del bitllet es calcula com la part entera de 0.08 euros per kilòmetres de distància entre l’origen i el destí. A aquest import se li afegeix un extra a partir del pes de l’equipatge i del dia que es vola seguint els següents criteris. Si el viatge és en cap de setmana, l’equipació de tarifa 1 i 2, no paguen; però l’equipació de tarifa 3 incrementa el preu del bitllet en 20 €. Per altra banda, si el viatge es fa en dia feiner, la tarifa 2 paga 15 euros i la 3 en paga 25, mentre que la tarifa 1 no paga.
Desa la funció al fitxer
aviacio.py. La funció ha de passar el següent doctest:>>> p=preu_final(1200, True, 12) >>> p 96 >>> p=preu_final(1250, True, 22) >>> p 120 >>> p=preu_final(2340, True, 22) >>> p 207 >>> p=preu_final(1200, False, 32) >>> p 121 >>> p=preu_final(4320, False, 9) >>> p 345
Nota
Pots descarregar el fitxer amb tests test-bitllet2.txt. Tens una solució a aviacio.py.