1
0
forked from tdwojak/Python2018
Python2018/labs02/task05.py
2018-06-23 12:41:54 +02:00

32 lines
834 B
Python

#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
Napisz funkcję euclidean_distance obliczającą odległość między
dwoma punktami przestrzeni trójwymiarowej. Punkty są dane jako
trzyelementowe listy liczb zmiennoprzecinkowych.
np. odległość pomiędzy punktami (0, 0, 0) i (3, 4, 0) jest równa 5.
x = [0, 0, 0]
y = [3, 4, 0]
"""
def euclidean_distance(x, y):
if len(x) != len(y):
return 0
else:
return ((x[0] - y[0])**2 + (x[1]-y[1])**2 + (x[2]-y[2])**2)**0.5
def tests(f):
inputs = [[(2.3, 4.3, -7.5), (2.3, 8.5, -7.5)]]
outputs = [4.2]
for input, output in zip(inputs, outputs):
if f(*input) != output:
return "ERROR: {}!={}".format(f(*input), output)
break
return "TESTS PASSED"
if __name__ == "__main__":
print(tests(euclidean_distance))