class Star: # Attribute des Stern 1:1 aus Aufgabe umsetzen def __init__(self, name, id, distance, apparentMagnitude, type): self.name = name self.id = id self.distance = distance self.apparentMagnitude = apparentMagnitude self.type = type # Es muss der Vergleichstern übergeben werden, auf die eigene Distanz hat man Zugriff über self def isCloserThan(self,star_other): if (self.distance < star_other.distance): return True else: return False # Eine einfache Division reicht als Rückgabewert def getDistanceInPC(self): return self.distance/3.26 # Hilfsmethode, um beliebige Sterne vergleichen zu können def compareDistance(first_star, second_star): if (first_star.isCloserThan(second_star)): print(f'{first_star.name} ist näher an der Sonne als {second_star.name}.') else: print(f'{second_star.name} ist näher an der Sonne als {first_star.name}.') # Mainmethode # Vorgegebene Sterne bauen # Dabei beim Anlegen auf die Datentypen achten (z.B. 2000.0 statt 2000) star01 = Star("Sirius","TYC 5949-2777-1", 8.6, -1.46, "Main sequence") star02 = Star("Alpha Centauri","TYC 9007-5849-1", 4.37, -0.27, "Main sequence") star03 = Star("Rigel","TYC 5331-1752-1", 860.0, 0.13, "Blue supergiant") star04 = Star("Almaaz","TYC 2907-1275-1", 2000.0, 2.92, "Yellow supergiant") star05 = Star("Luhmann 16","WISE J1049-5319A", 6.589, 14.94, "Brown dwarf") # Tests print(star01.getDistanceInPC()) compareDistance(star01,star02)