# Fingerübung im Skript
#dms = "+45:10:12.5"
#      "-50:15:2.3"

def to_dd(dms: str) -> float:
    parts = dms.split(":")
    deg = int(parts[0])  # Vorzeichen behalfted
    minute = int(parts[1])  # 0 oder positiv
    sec = float(parts[2])
    if dms[0] == '-' :
        return deg - (minute/60) -(sec/3600)
    else:
        return deg + (minute/60) - (sec/3600)

test_data = [
    "+45:10:12.5",
    "-50:15:2.3",
    "0:30:0",
    "-0:45:6.5"
]

degrees = [to_dd(d) for d in test_data]
print(degrees)