2. Metres útils de l’habitatge [3]¶
Una immobiliària ens demana que fem un programa per calcular els metres quadrats útils d’un habitatge i per això farem dues funcions.
No tots els metres quadrats compten de la mateixa manera per determinar els metres quadrats útils.
Metres interiors: Els metres de l’interior de l’habitatge compten directament, és a dir, són directament metres quadrats útils.
Metres terrassa pròpia: Els metres quadrats de les terrasses de propietat compten la meitat per tenir els metres quadrats útils. Per exemple, 6 metres quadrats d’aquest tipus, donaran 3 metres quadrats útils. Sempre considerarem nombres enters, agafant la part entera de la meitat dels metres.
Metres terrassa comunitària: Els de les terrasses de propietat comunitària compten en una tercera part, agafant la part entera de la tercera part dels metres. És a dir, per exemple, 10 metres quadrats d’aquest tipus correspondran a 3 metres quadrats útils.
Implementa una funció, anomenada metres_quadrats que a partir de tres
enters: metres interiors, metres de terrassa pròpia i metres de
terrassa comunitària, calcula els metres quadrats útils que té l’habitatge.
La solució s’ha de lliurar a la tasca d’Atenea en el fitxer metres.py. La funció ha de passar el següent doctest:
>>> a=metres_quadrats(65, 10, 45) >>> a 85 >>> a=metres_quadrats(65, 10, 0) >>> a 70 >>> a=metres_quadrats(65, 0, 45) >>> a 80 >>> a=metres_quadrats(65, 20, 12) >>> a 79 >>> a=metres_quadrats(65, 0, 0) >>> a 65 >>> a=metres_quadrats(65, 0, 12) >>> a 69
Fent servir la funció anterior, implementa una nova funció anomenada
mes_gran tal que donats 6 enters corresponents: els tres primers
als metres d’un habitatge (interiors, terrassa pròpia i terrassa
comunitària) i els altres tres corresponents a un altre habitatge, retorna dos valors:
Un 1 i els metres quadrats útils de la primera, si aquesta resulta ser més gran en metres quadrats útils.
Un 2 i els metres quadrats útils de la segona, si aquesta resulta tenir més metres quadrats útils.
Un 0 i els metres quadrats útils d’una de les dues, si les dues resulten tenir els mateixos metres útils.
La solució s’ha de lliurar a la tasca d’Atenea en el fitxer
metres.py. La funció ha de passar el següent doctest:>>> mes_gran(60, 10, 0, 65, 0, 0) (0, 65) >>> mes_gran(70, 10, 10, 80, 0, 0) (2, 80) >>> mes_gran(70, 20, 30, 80, 0, 12) (1, 90) >>> mes_gran(90, 10, 9, 65, 20, 20) (1, 98) >>> mes_gran(70, 10, 40, 80, 0, 40) (2, 93) >>> mes_gran(90, 0, 30, 80, 0, 42) (1, 100)Nota
Podeu descarregar el fitxer amb tests
test-metres1.txtitest-metres2.txt. Tens una solució ametres.py.