Building Base Building Base
Moderate
EN ES French JA RU UK

Notre chef nous a confié le projet de construire la cité idéale pour les robots. Dans cette brillante Robopolis, dont le plan est situé sur une grille , tous les bâtiments seront rectangulaires et toutes les rues seront orientées Nord-Sud ou Est-Ouest (" south-north" et "east-west" en anglais). Avant de commencer la conception de cette ville, il nous faut créer une classe Python Building pour représenter le bâtiment idéal.

Puisque tous les bâtiments sont rectangulaires, et que leurs murs sont parallèles aux rues, nous pouvons décrire chaque bâtiment en ne fournissant que les deux coordonnées du coin Sud-Ouest ("South-West" en anglais), la longueur du mur Ouest-Est ("West-East"), la longueur du mur Nord-Sud ("North-South"), ainsi que la hauteur du bâtiment. Ces valeurs seront des nombres positifs, exprimées dans l'unité conventionnelle. Le point origine de notre système de coordonnées est situé au Sud-Ouest ("South-West").... Par conséquent, le coin au Nord a une coordonnée supérieur au coin au Sud. Pour réaliser cette mission, nous avons besoin de définir deux méthodes pour la classe . Observons la description ci-dessous :

Renvoie une nouvelle instance de la classe Building avec le coin Sud-Ouest situé aux coordonnées [south, west] , de taille width_WE par width_NS, et de hauteur height. "height" est un nombre positif de valeur par défaut 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()

Renvoie un dictionnaire avec les coordonnées des quatre coins du bâtiment. Les clés du dictionnaire sont les suivantes : "north-west", "north-east", "south-west", "south-east". Les valeurs sont des listes ou tuples de deux nombres.

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

area()

Renvoie l'aire du bâtiment.

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

volume()

Renvoie le volume du bâtiment.

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

__repr__()

Il s'agit de donner une représentation du bâtiment sous forme de chaîne de caractères. Cette méthode est utilisée par la fonction "print" ou pour la conversion en chaîne de caractères "str". Elle renvoie la chaîne construite sous la forme suivante :
"Building({south}, {west}, {width_we}, {width_ns}, {height})"

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

Dans cette mission, toutes les données seront correctes et vous n'avez pas besoin d'implémenter de vérification de conformité des données.

Input: Déclarations et expressions pour la classe Building.

Output: Le comportement tel qu'il est décrit ci-dessus.

Utilisation: Il s'agit d'apprendre à définir une classe simple avec peu de fonctionnalités, pour la grandeur de Robonia.

Precondition: All data are correct.

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