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
|
||||
# -*- 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:
|
||||
# * Konstruktor ma przyjąc tylko 1 parametr: listę współrzednych.
|
||||
def __init__(self, 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