# -*- coding: utf-8 -*-
#----------------------
print()
print("   Convertir un jour normal en jour décimal")
print("  Ou Convertir un jour décimal en jour normal")
print("--------------------------------------------")
print()
print(" Choisissez le numéro l'une des deux options")
print(" ———————————————————————————————————————————")
print(" Convertir jour normal en jour décimal..: 1")
print(" -------------------------------------------")
print(" Convertir jour décimal en jour normal..: 2")
print(" ———————————————————————————————————————————")
print()
def choisir() :
    global choix
    
    choix = input(" Votre choix ? ")
    try :
        choix = int(choix)
    except :
        print(" Vous devez taper uniquement un chiffre, rien d'autre")
        choisir() # tourniquet pour chiffre non conforme
    
    if choix < 0 :
        print("                  Erreur ce chiffre est négatif !")
        choisir()  # tourniquet pour chiffre négatif
        print()
        
    if choix == 0 :
        print("               Erreur se chiffre est trop petit !")
        choisir()  # tourniquet pour chiffre trop petit
        print()
    
    if choix > 2 :
        print("               Erreur se chiffre est trop grand !")    
        choisir()  # tourniquet pour chiffre trop grand
        print()
    
    return
#----------------------------------------------------- choix de jour normal (choix 1)
def jrnorm() :
    global choix
    global prefer
    global heure
    global hr
    global minute
    global min
    global seconde
    global sec
    global jrdécimal
    
    print()
    print("————————————————————————————————————————————————————————")
    print(" Si vous voulez utiliser l'heure système tapez......: 1 ")
    print("--------------------------------------------------------")
    print(" Si vous voulez entrer une heure vous même tapez....: 2 ")
    print("————————————————————————————————————————————————————————")
        
    print()    
    prefer = input(" votre préférence ? ")
    try :
        prefer = int(prefer)
    except :
        print(" Vous devez taper uniquement un chiffre, rien d'autre")
        jrnorm() # tourniquet pour chiffre non conforme
    
    if prefer < 0 :
        print("                  Erreur ce chiffre est négatif !")
        jrnorm()  # tourniquet pour chiffre négatif
        print()
    
    if prefer == 0 :
        print("               Erreur se chiffre est trop petit !")
        jrnorm()  # tourniquet pour chiffre trop petit
        print()
    
    if prefer > 2 :
        print("               Erreur se chiffre est trop grand !")    
        jrnorm()  # tourniquet pour chiffre trop grand
        print()
    return
#-------------------------------------------------------------------- entrée heure système
def hrsys() :
    global heure
    global minute
    global seconde
    
    import datetime
    
    heure = (float(datetime.datetime.now().strftime("%H")))
    minute = (float(datetime.datetime.now().strftime("%M")))
    seconde = (float(datetime.datetime.now().strftime("%S")))

    return
#-------------------------------------------------------------------- entrée heure manuelle
def hrmanu() :
    global heure
    global minute
    global seconde
    
    print()
    heure = input(" Veuillez entrer l'heure souhaitée ? ")
    try :
        heure = int(heure)
    except :
        print(" Vous devez taper uniquement un chiffre, rien d'autre")
        hrmanu() # tourniquet pour chiffre non conforme
    if heure < 0 or heure > 24 :
        print(" Nombre d'heures en dehors des limite de 0 à 24 !")
        hrmanu() # tourniquet pour chiffre non conforme
        
    minute = input("                       Les minutes ? ")
    try :
        minute = int(minute)
    except :
        print(" Vous devez taper uniquement un chiffre, rien d'autre")
        hrmanu() # tourniquet pour chiffre non conforme
    if minute < 0 or minute > 60 :
        print(" Nombre des minutes en dehors des limites de 0 à 60")
        hrmanu() # tourniquet pour chiffre non conforme
    
    seconde = input("      et les secondes si il y en a ? ")
    try :
        seconde = float(seconde)
    except :
        print(" Vous devez taper uniquement un chiffre, rien d'autre")
        hrmanu() # tourniquet pour chiffre non conforme
    if seconde < 0 or seconde > 60 :
        print(" Nombre des secondes en dehors des limites de 0 à 60")
        hrmanu() # tourniquet pour chiffre non conforme
    
    return
#----------------------------------------------------- choix jour décimal (choix 2)
def jdéci() :
    global choix
    global jd
    
    print()
    jd = input(" Veuillez entrer le jour décimal à convertir ? ")
    try :
        jd = float(jd)
    except :
        print("Vous devez taper uniquement des chiffres, rien d'autre")
        jdéci() # tourniquet pour chiffre non conforme
    if jd > 1.0 :
        print(" Le nombre maximum est de 1.0 !")
        jdéci() # tourniquet pour chiffre non conforme
    if jd < 0.0 :
        print(" Vous devez éviter les nombres négatifs !")
        jdéci() # tourniquet pour chiffre non conforme
    
    return
#-------------------------------------------------------------------- convertion de jour normal à décimal
def convdéci() :
    global heure
    global hr
    global minute
    global min
    global seconde
    global sec
    global jd
    
    min = seconde / 60
    hr = (min + minute) / 60
    hr = (hr + heure)
    jd = hr / 24

    return
#-------------------------------------------------------------------- convertion de jour décimal à normal
def convnorm() :
    global jd
    global injd
    global hr
    global heure
    global min
    global mn
    global minute
    global sec
    global seconde
    
    injd = int(jd)
    hr = jd - injd
    hr = hr * 24
    heure = int(hr)
    min = hr - heure
    mn = min * 60
    minute = int(mn)
    sec = mn - minute
    seconde = sec * 60    
    
    return
#=================================
# Début de la lecture du programme
#----------------------------------------------------- déclaration des variables globales
global choix
global prefer
global jd
global injd
global hr
global heure
global min
global mn
global minute
global sec
global seconde
#----------------------------------------------------- initialisation des variables
choix = 0
prefer = 0
jd = 0.0
injd = 0
hr = 0.0
heure = 0
min = 0.0
minute = 0
sec = 0.0
seconde = 0.0
sec = 0.0
#----------------------------------------------------- [main]
choisir()
if choix == 1 :
    jrnorm()
    if prefer == 1 :
        hrsys()
    if prefer == 2 :
        hrmanu()
    convdéci()
if choix == 2 :
    jdéci()
    convnorm()
heure = int(heure)
minute = int(minute)
seconde = round(seconde, 3)
#----------------------------------------------------- impression
print()
if choix == 1 :
    print()
    print("   L'heure décimale :", heure, "hr:", minute, "min:", seconde, "sec")
    print()
    print(" Correspond au jour :", jd)
if choix == 2 :
    print()
    print("    Le jour décimal :", jd)
    print()
    print("       correspond à :", heure, "hr:", minute, "min:", seconde, "sec")
#-----------------------------------------------------------------------------------Sortie
print()
print(" ----------------------")
bye = (input (" Entrer pour Sortir...!"))
