Napiš třídu od začátku
Jsi Python vývojář/ka a pracuješ na vizualizačním balíčku. Pro každý prvek vizualizace chceš umět zjistit jeho polohu, vzdálenost od ostatních prvků a snadno provést horizontální nebo vertikální zrcadlení.
Nejzákladnějším prvkem každé vizualizace je jediný bod. V tomto cvičení napíšeš třídu pro bod v rovině úplně od základu.
Toto cvičení je součástí kurzu
Object-Oriented Programming in Python
Pokyny k cvičení
Definuj třídu Point, která bude mít:
- Dva atributy,
xay– souřadnice bodu v rovině; - Konstruktor, který přijímá dva argumenty,
xay, a inicializuje příslušné atributy. Tyto argumenty by měly mít výchozí hodnotu0.0; - Metodu
distance_to_origin(), která vrátí vzdálenost bodu od počátku souřadnic. Použij vzorec \(\sqrt{x^2 + y^2}\). - Metodu
reflect(), která zobrazí bod souměrně podle osy x nebo y:- přijímá jeden argument
axis, - pokud
axis="x", nastaví atributy(to není překlep!) na zápornou hodnotu atributuy, - pokud
axis="y", nastaví atributxna zápornou hodnotu atributux, - pro jakoukoli jinou hodnotu
axisvypíše chybovou zprávu.
- přijímá jeden argument
Poznámka: Funkci sqrt() můžeš použít z balíčku numpy nebo math, ale ať zvolíš cokoli, nezapomeň příslušný balíček importovat ještě před definicí třídy!
Pro ověření správnosti řešení by ti měl následující kód proběhnout bez chyb:
pt = Point(x=3.0)
pt.reflect("y")
print((pt.x, pt.y))
pt.y = 4.0
print(pt.distance_to_origin())
a vrátit výstup
(-3.0,0.0)
5.0
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# Write the class Point as outlined in the instructions