(c) 2023 Technische Hochschule Augsburg - Fakultät für Informatik - Prof.Dr.Nik Klever - Impressum
class Ort():
""" Klasse Ort"""
sm = 1.852 # Definition Seemeile 1.852 km
print(Ort.sm)
1.852
ort1 = Ort()
print(ort1)
<__main__.Ort object at 0x7f2c50140048>
ort2 = Ort()
print(ort2)
<__main__.Ort object at 0x7f2c5011aeb8>
print(ort1.sm)
print(ort2.sm)
1.852 1.852
Ort.sm = 0
print(ort1.sm)
print(ort2.sm)
0 0
ort1.sm = 0.9
print(ort1.sm)
print(ort2.sm)
0.9 0
class Ort():
"""Klasse Ort mit Eigenschaften
Name des Orts
Lage des Orts über die Koordinaten (Nordkoordinate, Ostkoordinate)
"""
def __init__(self, name, nord, ost):
self.name = name
self.nord = nord
self.ost = ost
ort1 = Ort("TCW",48.86457, 10.51463)
print("{} liegt auf {} Nord und {} Ost".format(ort1.name,ort1.nord,ort1.ost))
TCW liegt auf 48.86457 Nord und 10.51463 Ost
ort2 = Ort("Bahnhof Nördlingen",48.8508, 10.4978)
print("{} liegt auf {} Nord und {} Ost".format(ort2.name,ort2.nord,ort2.ost))
Bahnhof Nördlingen liegt auf 48.8508 Nord und 10.4978 Ost
Bei der Erstellung einer Instanz (Objekt einer Klasse) wird die Instanzvariable (self) zum Rückgabewert der Instanziierung der Klasse und damit für jede Instanz ein anderer Wert.
a² + b² = c²
1/60 Breitengrad = 1 Seemeile = 1852 m = 1.852 km
60 * 1.852 = 111.12 km
60 * 1.852 * cos((b1+b2)/2)
import math
class Ort():
"""Klasse Ort mit Eigenschaften
Attribute:
Name des Orts
Koordinaten des Orts
Methoden:
entfernung
"""
sm = 1.852 # Definition Seemeile 1.852 km
def __init__(self,name,nord,ost):
self.name = name
self.nord = nord
self.ost = ost
def entfernung(self,zweiterOrt):
längebreitengrads = 60 * self.sm
längelängengrads = 60 * self.sm * math.cos(math.radians((self.nord+zweiterOrt.nord)/2))
a2 = ((zweiterOrt.ost-self.ost)*längelängengrads)**2
b2 = ((zweiterOrt.nord-self.nord)*längebreitengrads)**2
return math.sqrt(a2+b2)
ort1 = Ort("TCW",48.86457, 10.51463)
print("{} liegt auf {} Nord und {} Ost".format(ort1.name,ort1.nord,ort1.ost))
TCW liegt auf 48.86457 Nord und 10.51463 Ost
ort2 = Ort("Bahnhof Nördlingen",48.8508, 10.4978)
print("{} liegt auf {} Nord und {} Ost".format(ort2.name,ort2.nord,ort2.ost))
Bahnhof Nördlingen liegt auf 48.8508 Nord und 10.4978 Ost
ort1.entfernung(ort2)
1.9634749351569114
ort2.entfernung(ort1)
1.9634749351569114