# -*- coding: utf-8 -*-
# convertir les degrés-décimales (DD)
# en degrés-minute-seconde (DMS)
#v.2

print("Convertion des degrés décimaux en degrés minutes secondes")
print("---------------------------------------------------------")
print()

#-------------------------------variables

dd_lat = 0.0     # Degrés décimaux de Latitude
# ipart_lat = 0  # partie entière de degrés de Latitude
fr_lat = 0.0     # Partie fractionnaire de degrés de Latitude
min_lat = 0.0    # Minutes de Latitude
fr_min_lat = 0.0 # Partie fractionnaire de minutes de Latitude
sec_lat = 0.0    # Secondes de Latitude
hem_lat = "E"    # Hémisphère de Latitude

dd_lon = 0.0
# ipart_lon = 0
fr_lon = 0.0
min_lon = 0.0
fr_min_lon = 0.0
sec_lon = 0.0
hem_lon = "N"

#-------------------------------Questions latitude

dd_lat = input("Degrés décimaux de Latitude entre -79 et +79 ? ")
try :
    dd_lat = float(dd_lat)
    if dd_lat <= -90 or dd_lat >= 90 :
        dd_lat = 0.0
        print("les Degrés décimaux de Latitude seront égaux à Zéro")
except :
    dd_lat = 0.0
    print("les Degrés décimaux de Latitude seront égaux à Zéro")

if dd_lat >= 0.0 :
    hem_lat = "N"
else :
    hem_lat = "S"
    dd_lat = abs(dd_lat)    # supression du signe négatif avec abs()

print()
#-------------------------------Questions longitude

dd_lon = input("Degrés décimaux de Longitude entre -180 et +180 ? ")
try :
    dd_lon = float(dd_lon)
    if dd_lon <= -180 or dd_lon >= 180 :
        dd_lon = 0.0
        print("les Degrés décimaux de Longitude seront égaux à Zéro")
except :
    dd_lon = 0.0
    print("les Degrés décimaux de Longitude seront égaux à Zéro")

if dd_lon >= 0.0 :
    hem_lon = "E"
else :
    hem_lon = "W"
    dd_lon = abs(dd_lon)    # supression du signe négatif avec abs()

# ------------------------------Prépa & Calcul

deg_lat = int(dd_lat)
fr_lat = float(dd_lat) - int(dd_lat)

min_lat = float(fr_lat) * 60
fr_min_lat = float(min_lat) - int(min_lat)

sec_lat = fr_min_lat * 60   # Secondes avec décimales

deg_lon = int(dd_lon)
fr_lon = float(dd_lon) - int(dd_lon)

min_lon = float(fr_lon) * 60
fr_min_lon = float(min_lon) - int(min_lon)

sec_lon = fr_min_lon * 60   # Secondes avec décimales

#-------------------------------Affichage

print()
print()
print("Latitude...:", dd_lat, "° ", end = '\t')
print("Longitude...:", dd_lon, "° ")
print()
print()
print("En Degrés Minutes Secondes ça nous donne : ")
print()
print("Latitude...:", deg_lat, "° ", int(min_lat), "' ",  round(sec_lat, 2), "\"", hem_lat, end =' \t')
print("Longitude...:", deg_lon, "° ", int(min_lon), "' ",  round(sec_lon, 2), "\"", hem_lon)

#-------------------------------Sortie

print()
print("----------------------")
bye = (input ("Entrer pour Sortir...!"))
