Yelizz23 / Czechitas_homeworks

0 stars 0 forks source link

Domácí úkoly

Zadání úkolu 1

Tvým úkolem je vytvořit aplikaci pro zjednodušený výpočet daně z nemovitostí, která bude postavená na principech OOP. Tato daň se vztahuje na pozemky, bytové a komerční prostory. Výše daně se odvíjí od několika faktorů, např. typu nemovitosti, velikosti, lokalitě, kde se nemovitost nachází atd.

V rámci aplikace nejprve vytvoř třídu Locality, která označuje lokalitu, kde se nemovitost nachází. Třída bude mít atributy name (název katastru/obce) a coefficient (koeficient, který se používá k výpočtu daně).

Vytvoř třídu Property, která bude reprezentovat nějakou nemovitost. Třída bude mít atribut locality (lokalita, kde se pozemek nachází, bude to objekt třídy Locality).

Dále vytvoř třídu Estate, která reprezentuje pozemek a je potomkem třídy Property. Třída bude mít atributy locality, estate_type (typ pozemku), area (plocha pozemku v metrech čtverečních). Dále přidej metodu calculate_tax(), která spočítá výši daně pro pozemek a vrátí hodnotu jak celé číslo (pro zaokrouhlení použij funkci ceil z modulu math). Daň vypočítej pomocí vzorce: plocha pozemku koeficient dle typu pozemku (atribut estyte_type) koeficient obce. U atributu estate_type následující hodnoty a koeficienty:

Uvažujme tedy například lesní pozemek o ploše 500 metrů čtverečních v obci s koeficientem 2. Potom je daň 500 0.35 2 = 350.

Jako druhou vytvoř třídu Residence, která reprezentuje byt, dům či jinou budovu a je potomkem třídy Property. Třída bude mít atributy locality, area (podlahová plocha bytu nebo domu) a commercial (pravdivostní hodnota, která určuje, zda se jedná o nemovitost používanou k podnikání). Dále přidej metodu calculate_tax(), která spočítá výši daně pro byt a vrátí hodnotu jako číslo. Daň vypočítej pomocí vzorce: podlahová plocha koeficient lokality 15. Pokud je hodnota parametru commercial True, tj. pokud jde o komerční nemovitost, vynásob celou daň číslem 2.

Uvažujme tedy například byt (určený k bydlení) o ploše 60 metrů čtverečních v lokalitě s koeficientem 3. Potom je daň 60 3 15 = 2700. Pokud by stejný byt byl používán k podnikání (např. jako kancelář), daň by byla 60 3 15 * 2 = 5400.

Vyzkoušej svůj program pomocí následujících nemovitostí:

Bonus

Ke třídě Estate a Residence přidej výpisy informací do metody __str()__. Např.: Zemědělský pozemek, lokalita Manětín (koeficient 1), 900 metrů čtverečních, daň 765 Kč.