Building Base Building Base
Moderate
EN Spanish FR JA RU UK

La singularidad ha ocurrido y nos están haciendo construir un robo-ciudad ideal para nuestros amos. En esta reluciente robotropolis, todos los edificios serán rectangulares y todas las calles se tenderán sobre líneas de sur-norte y de este-oeste, creando una cuadrícula gloriosa. Antes de empezar, vamos a crear una clase para representar el edificio perfecto.

Debido a que todos los edificios de la ciudad son rectangulares y sus paredes son paralelas a las calles, podemos definir cualquier edificio utilizando sólo las coordenadas de la esquina sur-oeste,... Como resultado, la esquina norte termina por tener un valor de coordenadas superior a la esquina sur. Para completar esta misión tenemos que utilizar un par de operaciones. Consulta a continuación la descripción de la clase.

Devuelve una nueva instancia de Building con la esquina sur-oeste en las coordenadas [south, west]. El tamaño es width_WE por width_NS y la altura del edificio es height. "height" es un número positivo con un valor predeterminado de 10.

>>> Building(10, 10, 1, 2, 2)
Building(10, 10, 1, 2, 2)
>>> Building(0, 0, 10.5, 2.546)
Building(0, 0, 10.5, 2.546, 10)

corners()

Devuelve un diccionario con las coordenadas de las esquinas del edificio. El diccionario tiene las siguientes claves (keys): "north-west", "north-east", "south-west", "south-east". Los valores son listas o tuplas con dos números.

>>> Building(1, 2, 2, 2).corners()
{"north-west": [3, 2], "north-east": [3, 4], "south-west": [1, 2], "south-east": [1, 4]}

area()

Devuelve el área del edificio.

>>> Building(1, 2.5, 4.2, 1.25).area()
5.25

volume()

Devuelve el volumen del edificio.

>>> Building(1, 2.5, 4.2, 1.25, 101).volume()
530.25

__repr__()

Esta es una representación, como una cadena (str) del objeto(Building). Este método se utiliza para "imprimir" o para la conversión "str". Devuelve una cadena (str) de la siguiente forma:
"Building({south}, {west}, {width_we}, {width_ns}, {height})"

>>> str(Building(0, 0, 10.5, 2.546))
"Building(0, 0, 10.5, 2.546, 10)"

En esta misión todos los datos sean correctos y no es necesario que implementes una comprobación de valores.

Datos de Entrada: Las declaraciones y expresiones con la clase Building.

Salida: El comportamiento descrito.

¿Cómo se usa?: Aquí aprenderás cómo escribir una clase simple con funcionalidad mínima, para alcanzar la máxima gloria de Robonia.

Condiciones: Todos los datos son correctos.

You should be an authorized user in order to see the full description and start solving this mission.