forked from tdwojak/Python2017
zadanie 3
This commit is contained in:
parent
e94df33343
commit
074950304c
@ -1,3 +1,80 @@
|
||||
#!/usr/bin/env python2
|
||||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
**ć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 dida 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.
|
||||
"""
|
||||
|
||||
class point:
|
||||
|
||||
def __len__(w_punkt):
|
||||
dl = len(w_punkt)
|
||||
print("ilosc wymiarow:", dl)
|
||||
return (dl)
|
||||
|
||||
def __str__(point_number):
|
||||
print("Wspolrzedne punktu",point_number)
|
||||
|
||||
def check_wartosc(wsp_punkt):
|
||||
ok = False
|
||||
while not ok:
|
||||
try:
|
||||
test_wsp_punkt = float(wsp_punkt)
|
||||
ok = True
|
||||
return (test_wsp_punkt)
|
||||
except ValueError:
|
||||
print("Podałeś błędną wartosc", wsp_punkt)
|
||||
break
|
||||
|
||||
def is_numeric(e_lista):
|
||||
if isinstance(float(e_lista), float) or isinstance(int(e_lista),int):
|
||||
print(e_lista)
|
||||
return("Is_numeric")
|
||||
else:
|
||||
print(e_lista)
|
||||
return ("Is_not_numeric")
|
||||
|
||||
def add_wsp(ilosc_wsp):
|
||||
tab = []
|
||||
for i in range(ilosc_wsp):
|
||||
wsp_punkt = input("Podaj wsp nr \n")
|
||||
tab.append(point.check_wartosc(wsp_punkt))
|
||||
return (list(tab))
|
||||
|
||||
def add_punkt():
|
||||
ilosc_punkt = int(input("Podaj ilosc punktow: \n"))
|
||||
ilosc_wsp = int(input("Podaj ilosc wsp: \n"))
|
||||
lista_punkt = []
|
||||
for i in range(ilosc_punkt):
|
||||
lista_punkt.append(point.add_wsp(ilosc_wsp))
|
||||
# print(lista_punkt)
|
||||
# to_string(lista_punkt[i],i+1)
|
||||
# __len__(lista_punkt[i])
|
||||
return (lista_punkt)
|
||||
|
||||
def to_string(lista_punkt):
|
||||
# print("Punkt nr:",punkt,"ma wymiary")
|
||||
# print(lista_punkt)
|
||||
print("\n Wspolrzedne")
|
||||
k = 0
|
||||
for i in lista_punkt:
|
||||
# print(i)
|
||||
k = k + 1
|
||||
print("Wymiar nr:", k, "ma wartosc", i)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
test = point.add_punkt()
|
||||
for i in test:
|
||||
print("\n Numer punktu",test.index(i)+1,"\n")
|
||||
point.__str__(i)
|
||||
point.to_string (i)
|
||||
point.__len__(i)
|
||||
|
Loading…
Reference in New Issue
Block a user