from scipy.spatial import distance


def my_p_root(value, root):
   my_root_value = 1 / float(root)
   return value ** my_root_value
def my_minkowski_distance(x, y, p_value):
   return (my_p_root(sum(pow(abs(a-b), p_value) for a, b in zip(x, y)), p_value))

vector1 = [1, 2, 3, 4, 5, 6]
vector2 = [7, 8, 9, 10, 11, 12]
p= 3
print("The Distance is:",my_minkowski_distance(vector1, vector2, p))


########################## Scipy Library #######################
# Defining the points
A = (1, 2, 3, 4, 5, 6)
B = (7, 8, 9, 10, 11, 12)
A, B
# Computing the Minkowski distance
minkowski_distance = distance.minkowski(A, B, p=3)
print('Minkowski Distance', A, 'and', B, 'is: ', minkowski_distance)