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.

  1. Metres interiors: Els metres de l’interior de l’habitatge compten directament, és a dir, són directament metres quadrats útils.

  2. 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.

  3. 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:

  1. Un 1 i els metres quadrats útils de la primera, si aquesta resulta ser més gran en metres quadrats útils.

  2. Un 2 i els metres quadrats útils de la segona, si aquesta resulta tenir més metres quadrats útils.

  3. 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.txt i test-metres2.txt. Tens una solució a metres.py.