forked from tdwojak/Python2017
[homework lab3, lab4] ready for review
This commit is contained in:
parent
affdbe0687
commit
ff3181b92e
@ -1,7 +1,56 @@
|
|||||||
#!/usr/bin/env python2
|
#!/usr/bin/env python2
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
#Zaimplementuj własny wyjątek ``DimensionError``, który zostaje wyrzucony, jeżeli dodawany punkt ma inny wymiar.
|
||||||
|
class DimensionError(Exception):
|
||||||
|
pass
|
||||||
|
|
||||||
|
#Stwórz klasę ``Point``, która będzie reprezentować punkt w przestrzeni wielowymiarowej:
|
||||||
class Point:
|
class Point:
|
||||||
|
# * Konstruktor ma przyjąc tylko 1 parametr: listę współrzednych.
|
||||||
def __init__(self, vertexes):
|
def __init__(self, vertexes):
|
||||||
self.vertexes = vertexes
|
self.vertexes = vertexes
|
||||||
|
|
||||||
|
#sprawdź, czy lista zawiera wyłącznie liczby.
|
||||||
|
def is_numeric(vertexes):
|
||||||
|
if isinstance(vertexes,(float,int))==True:
|
||||||
|
pass
|
||||||
|
else:
|
||||||
|
print("list does not contain only numbers")
|
||||||
|
|
||||||
|
#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.
|
||||||
|
def add(self, newpoint):
|
||||||
|
sum=[]
|
||||||
|
if len(newpoint)!=len(self.vertexes):
|
||||||
|
raise DimensionError("Dimensions does not match")
|
||||||
|
else:
|
||||||
|
for i in range(len(newpoint)):
|
||||||
|
sum.append(self.vertexes[i] + newpoint[i])
|
||||||
|
return Point(sum)
|
||||||
|
|
||||||
|
|
||||||
|
#Napisz metodę ``to\_string``, która zwróci łancuch znakowy, który w czytelny sposób przedstawi punkt.
|
||||||
|
def to_string(self):
|
||||||
|
return str(self.vertexes)
|
||||||
|
def __to_string__(self):
|
||||||
|
return self.to_string()
|
||||||
|
#Napisz metodę __len__, która zwróci liczbę współrzędnych punktu.
|
||||||
|
def how_many(self):
|
||||||
|
return len(self.vertexes)
|
||||||
|
def __len__(self):
|
||||||
|
return self.how_many()
|
||||||
|
|
||||||
|
#Zobacz, czy możesz teraz wywołać funkcję len na obiekcie typu punkt.
|
||||||
|
figures = [2,1,3,4,2,7]
|
||||||
|
my_point = Point(figures)
|
||||||
|
no_of_coordinates=len(my_point)
|
||||||
|
print("Number of coordinates: ")
|
||||||
|
print(no_of_coordinates)
|
||||||
|
|
||||||
|
#Wyświetl obiekt typy Point korzystając z funkcji print.
|
||||||
|
print("Coordinates as a string: ")
|
||||||
|
print(my_point.to_string())
|
||||||
|
|
||||||
|
B=[2,1,2,3,1]
|
||||||
|
my_sum=Point(B)
|
||||||
|
my_point.add(B)
|
||||||
|
Loading…
Reference in New Issue
Block a user