1
0
forked from tdwojak/Python2017
Python2017/labs04/README.md
2018-01-26 14:27:56 +01:00

1.9 KiB

ćwiczenie 1 Napisz funckję is_numeric, która sprawdzi, czy każdy element z przekazanej listy jest typu int lub float. Wykorzystaj funcję isinstance() (https://docs.python.org/2/library/functions.html#isinstance).

ćwiczenie 2 Napisz prostą hierarchię klas:

  • Klasa bazowa Employee, która będzie zawierać informacje o imieniu i nazwisku pracownika. Ponadto każdy pracownik otrzyma numer id, który będzie unikatowy. Wykorzystaj do tego atrybut statyczny. Napisz metodę get_id, która zwraca identyfikator pracownika.
  • Klasy pochodna: Recruiter, która ma dodatkową metodę recruit, która jako parament przyjmuje obiekt Employee i zapisuje jego id w liście self.recruited.
  • Klasa pochodna Programmer. Klasa Programmer ma przyjąć w konstruktorze podstawowe informacje (imię i nazwisko) oraz obiekt rekturera. Ponadto stwórz atrybut recruiter, który będzie przechowywać id rekrutera.

**ćwiczenie 3 (zadanie domowe) ** Stwórz klasę Point, która będzie reprezentować punkt w przestrzeni wielowymiarowej:

  • Konstruktor ma przyjąc tylko 1 parametr: listę współrzednych. Wykorzystaj funkcję z pierwszego zadania, żeby sprawdzić, czy lista zawiera wyłącznie liczby.
  • Napisz metodę add, która doda dwa punkty po współrzędnych i zwróci obiekt typu Punkt. Zaimplementuj własny wyjątek DimensionError, który zostaje wyrzucony, jeżeli dodawany punkt ma inny wymiar.
  • Napisz metodę to\_string, która zwróci łancuch znakowy, który w czytelny sposób przedstawi punkt.
  • Napisz metodę len, która zwróci liczbę współrzędnych punktu. Zobacz, czy możesz teraz wywołać funkcję len na obiekcie typy punkt.
  • Napisz metodę str, która bedzie działać dokładnie tak samo jak metoda to_string. Wyświetl obiekt typy Point korzystając z funkcji print.