forked from tdwojak/Python2019
57 lines
2.1 KiB
Python
57 lines
2.1 KiB
Python
#!/usr/bin/env python
|
|
# -*- coding: utf-8 -*-
|
|
|
|
|
|
"""
|
|
zad.1
|
|
Przepisz poniższy kod tak, aby korzystał z list składanych.
|
|
"""
|
|
|
|
|
|
elems = list(range(1024))
|
|
fives = []
|
|
for elem in elems:
|
|
if elem % 5 == 0:
|
|
fives.append(elem)
|
|
|
|
"""
|
|
zad. 2 - klasy
|
|
|
|
- Stwórz klasę Point2D, która będzie reprezentować punkt na płaszczyźnie.
|
|
- Napisz inicjalizator, który będzie przyjmować 2 parametry: x i y, a następnie
|
|
przypisze te wartości do pól: self.x i self.y
|
|
- Stwórz obiekt typu Point2D, przekazując dowolne wartości.
|
|
- Napisz metodę `dist(self, point)`, gdzie point to będzie obiekt tupy Point2D,
|
|
która obliczy odległość pomiędzy tymi punktami.
|
|
- Zaimplementuj metodę `__len__(self)`, która zwróci liczbę 2.
|
|
- Zaimplementuj metodę `__str__(self)`, który pozwoli na wyświetlenie w
|
|
czytelny sposób obiektu.
|
|
- Zaimplementuj metodę `__add__(self, point)`, gdzie point jest typu Point2D,
|
|
a która zwróci nowy punkt, powstanie z dodania współrzednych obu punktów.
|
|
- stwórz listę 4 punktów o współrzędnych: (0,0), (0, 5), (5,5), (5, 0)
|
|
- Oblicz sumę wszystkich odległości pomiędzy tymi punktami. Spróbuj wykorzystać
|
|
funkcje `sum` i `map`
|
|
"""
|
|
|
|
"""
|
|
zad. 3 Klasa wielokąt
|
|
- Zaimplementuj klasę wielokąt, która będzie reprezentować zbiór punktów na
|
|
płaszczyźnie.
|
|
- Napisz inicjalizator `__init__(self, points)`, który będzie przyjmować jako
|
|
argument listę punktów typy Point2D.
|
|
- napisz metodę, która zwróci punkt środkowy figury, tj. punkt o współrzednych
|
|
równych średnią z punktów wielokąta.
|
|
- Stwórz przykładowy wielokąt z punktów (0,0), (0, 5), (5,5), (5, 0) i
|
|
oblicz jego punkt środkowy.
|
|
- Korzystając funkcji min, napisz metodę która zwróci punkt najbardziej
|
|
wysunięty na lewo.
|
|
- Napisz metodę, która zwróci obwód figury: spróbuj wykorzystać funkcję sum.
|
|
"""
|
|
|
|
"""
|
|
zad. 4
|
|
- rozdziel kod w tym pliku, aby każda klasa znalazła się w osobnym pliku.
|
|
- Zaimportuj moduły z klasami tak, aby ten plik uruchamiał się normalnie.
|
|
- Przerób ten plik, aby wykorzystywał dyrektywe : if __name__ == '__main__'
|
|
"""
|