from math import asin as arcsin from math import cos, radians, sqrt JORDA = 6371 class Plass: def __init__(self, navn, breddegrad, lengdegrad): self._navn = navn self._breddegrad = float(breddegrad) self._lengdegrad = float(lengdegrad) def navn(self): return self._navn def breddegrad(self): return self._breddegrad def lengdegrad(self): return self._lengdegrad def __str__(self): return f"Navn: {self._navn}, breddegrad {self._breddegrad:.2f}, lengdegrad {self._lengdegrad:.2f}" def avstand(self, plass, r): theta1 = radians(self._breddegrad) theta2 = radians(plass.breddegrad()) lambda1 = radians(self._lengdegrad) lambda2 = radians(plass.lengdegrad()) delta_theta = theta2 - theta1 delta_lambda = lambda2 - lambda1 d = 2 * r * arcsin(sqrt((1 - cos(delta_theta) + cos(theta1) * cos(theta2) * (1 - cos(delta_lambda))) / 2)) return d oslo = Plass("Oslo", 59.913333, 10.738889) print(oslo) trondheim = Plass("Trondheim", 63.44, 10.40) print(oslo.avstand(trondheim, JORDA))