import math

class Ksztalt:

    def __init__(self, kolor):
        self.kolor = kolor

    def pole(self):
        return 0
    
    def opis(self):
        return f'Kształt w kolorze {self.kolor}'

class Kwadrat(Ksztalt):

    def __init__(self, kolor, bok):
        super().__init__(kolor)
        self.bok = bok

    def pole(self):
        return math.pow(self.bok, 2)

    def opis(self):
        return f'Kwadrat o boku {self.bok} ma pole {self.pole()}'
    
class Kolo(Ksztalt):

    def __init__(self, kolor, promien):
        super().__init__(kolor)
        self.promien = promien


    def pole(self):
        return math.pi * self.promien * self.promien
    
    def opis(self):
        return f'Koło o promieniu {self.promien} w kolorze {self.kolor} ma pole {self.pole()}'
    
ksztalty = [
    Kolo('czerwony', 10),
    Kwadrat('zielony', 20)
]

print('-- Wszystkie kształty --')

for ksztalt in ksztalty:
    result = ksztalt.opis()

    print(f'{result:.2f}')