Klasa Koło
Treść zadania
Zaprojektuj klasę Kolo opisującą koło:
- Konstruktor
__init__(self, r=1)zapamiętuje promieńr(domyślnie 1). - Metoda
obwod()zwraca obwód koła: $2\pi r$. - Metoda
pole()zwraca pole koła: $\pi r^2$. - Metoda
wypisz()wypisuje informacje o kole: promień, obwód i pole (format poniżej). Do obliczeń użyj metodobwod()ipole().
Program wczytuje promień, tworzy obiekt Kolo i wywołuje jego metodę wypisz().
Dane wejściowe
- 1. linia: $r$ — liczba rzeczywista dodatnia (promień koła)
Dane wyjściowe
Trzy linie:
Koło o promieniu: <r>
Obwód koła: <obwód>
Pole koła: <pole>
Wszystkie liczby wypisz z dokładnością do 2 miejsc po przecinku.
Ograniczenia
- $0 < r \le 1000$
Uwagi
- Wartość $\pi$ znajdziesz w module
mathjakomath.pi.
Przykład
3
Koło o promieniu: 3.00 Obwód koła: 18.85 Pole koła: 28.27
Obwód: $2 \cdot \pi \cdot 3 \approx 18.8496$, pole: $\pi \cdot 3^2 \approx 28.2743$.
Potrzebujesz teorii?
Zasady obowiązujące w rozdziale 18
Zadania w tym rozdziale uczą projektowania klas: konstruktora __init__, atrybutów, metod, metod statycznych (@staticmethod) oraz metod specjalnych, dzięki którym obiekty można wypisywać (__str__), porównywać (__eq__) i łączyć operatorami (__add__, __sub__, __mul__, …). Ostatnie zadania wprowadzają też wyjątki (raise, try/except), klasy danych (@dataclass) i generatory (yield).
Konwencje wspólne:
- Każde zadanie to osobny program: czyta standardowe wejście i wypisuje wynik na standardowe wyjście.
- W każdym zadaniu dostajesz kod startowy ze szkieletem klasy, a zwykle także z gotowym wczytywaniem danych i wypisywaniem wyników. Twoim zadaniem jest przede wszystkim uzupełnienie metod klasy — wynik programu zależy od tego, jak działa Twoja klasa.
- Nazwy klas i metod podane w treści są obowiązkowe (kod startowy z nich korzysta). Nazwy w kodzie piszemy bez polskich znaków, np.
Kolo,Prostokat. - „Z dokładnością do 2 miejsc po przecinku” oznacza dokładnie dwie cyfry po kropce, np.
f"{x:.2f}"(3.00,-0.50). - Program nie wypisuje komunikatów typu „Podaj liczbę:”.
Zadanie pochodzi z otwartego zbioru Nauka-Programowania (z rozwiązaniami wzorcowymi). Zgłoś błąd w treści lub testach.
Przywrócono Twój zapisany kod.
Python uruchomi się w przeglądarce przy pierwszym teście.
Kod zapisuje się automatycznie w tej przeglądarce. Tab wstawia wcięcie; aby opuścić edytor klawiaturą, naciśnij Esc, a potem Tab.
Testy
Program dostaje „Wejście” przez input() i musi wypisać „Oczekiwane wyjście”. Liczby porównywane są z tolerancją 0,01, a tekst podany w input("…") nie jest sprawdzany.
Test 1
Nie uruchomiono1
Koło o promieniu: 1.00 Obwód koła: 6.28 Pole koła: 3.14
Test 2
Nie uruchomiono0.5
Koło o promieniu: 0.50 Obwód koła: 3.14 Pole koła: 0.79
Test 3
Nie uruchomiono10
Koło o promieniu: 10.00 Obwód koła: 62.83 Pole koła: 314.16
Test 4
Nie uruchomiono2.25
Koło o promieniu: 2.25 Obwód koła: 14.14 Pole koła: 15.90
Test 5
Nie uruchomiono100
Koło o promieniu: 100.00 Obwód koła: 628.32 Pole koła: 31415.93