Nauč se Python > Kurzy > Začátečnický kurz PyLadies > Dědičnost > Zpětná vazba k domácím projektům

Feedback k domácím projektům

Řešení 1

In [1]:
from math import pi

class Tvar:
    def rozdil_obsahu(self, jiny_tvar):
        return abs(self.obsah() - jiny_tvar.obsah())

class Ctverec(Tvar):
    def __init__(self, strana):
        self.strana = strana

    def obvod(self):
        return self.strana * 4

    def obsah(self):
        return self.strana ** 2

class Kruh(Tvar):
    def __init__(self, polomer):
        self.polomer = polomer

    def obvod(self):
        return 2 * pi * self.polomer

    def obsah(self):
        return pi * (self.polomer ** 2)

class Obdelnik(Tvar):
    def __init__(self, strana_prvni, strana_druha):
        self.strana_prvni = strana_prvni
        self.strana_druha = strana_druha

    def obvod(self):
        return 2 * (self.strana_prvni + self.strana_druha)

    def obsah(self):
        return self.strana_prvni * self.strana_druha

Řešení 2

In [2]:
from math import pi

class Tvary:
    def __init__(self, delka):
        self.delka = delka
        
    def rozdil_obsahu(self, jiny_objekt):
        return abs(self.obsah() - jiny_objekt.obsah())

class Ctverec(Tvary):
    def obvod(self):
        return self.delka*4

    def obsah(self):
        return self.delka * self.delka


class Kruh(Tvary):
    def obvod(self):
        return(round( 2 * pi * self.delka, 2))

    def obsah(self):
        return(round(pi * self.delka ** 2, 2))

class Obdelnik(Tvary):
    def __init__(self, delka, delka_2):
        self.delka_2 = delka_2
        super().__init__(delka)

    def obvod(self):
        return(round(2 * self.delka + 2 * self.delka_2, 2))

    def obsah(self):
        return(round(self.delka * self.delka_2, 2))

Toto je stránka lekce z kurzu, který probíhá nebo proběhl naživo s instruktorem.