Building Base Building Base
Simple
IT 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 Building ... . 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.
Settings
Code:
CheckiO Extensions

CheckiO Extensions allow you to use local files to solve missions. More info in a blog post.

In order to install CheckiO client you'll need installed Python (version at least 3.8)

Install CheckiO Client first:

pip3 install checkio_client

Configure your tool

checkio --domain=py config --key=

Sync solutions into your local folder

checkio sync

(in beta testing) Launch local server so your browser can use it and sync solution between local file end extension on the fly. (doesn't work for safari)

checkio serv -d

Alternatevly, you can install Chrome extension or FF addon

checkio install-plugin
checkio install-plugin --ff
checkio install-plugin --chromium

Read more here about other functionality that the checkio client provides. Feel free to submit an issue in case of any difficulties.

×
 
 
<< <
> >>
exec

Whats Next?

Free accounts will see Best CheckiO solutions with some delay.
Best Solutions will be opened in
Become Awesome and Don't wait
The next stage is ""
Will be activated in
View More Solutions Random Review Solutions Share your own solution
Go to the next mission Back to the list of missions Back to the map