# -*- coding: utf-8 -*-
#----------------------
#   centièmes d'heure
#----------------------
print()
print("   Convertir une heure normale en heure décimale")
print("  Ou Convertir unr heure décimale en heure normale")
print("--------------------------------------------")
print()
print(" Choisissez le numéro l'une des deux options")
print(" ———————————————————————————————————————————")
print(" Convertir heure normale en heure décimale..: 1")
print(" -------------------------------------------")
print(" Convertir heure décimale en heure normale..: 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 heure normal (choix 1)
def hrnorm() :
    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")
        hrnorm() # tourniquet pour chiffre non conforme
    
    if prefer < 0 :
        print("                  Erreur ce chiffre est négatif !")
        hrnorm()  # tourniquet pour chiffre négatif
        print()
    
    if prefer == 0 :
        print("               Erreur se chiffre est trop petit !")
        hrnorm()  # tourniquet pour chiffre trop petit
        print()
    
    if prefer > 2 :
        print("               Erreur se chiffre est trop grand !")    
        hrnorm()  # 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 de l"heure décimale (choix 2)
def hdéci() :
    global choix
    global hd
    
    print()
    hd = input(" Veuillez entrer l'heure décimal à convertir ? ")
    try :
        hd = float(hd)
    except :
        print("Vous devez taper uniquement des chiffres, rien d'autre")
        hdéci() # tourniquet pour chiffre non conforme
    if hd > 24.0 :
        print(" Le nombre maximum est de 1.0 !")
        hdéci() # tourniquet pour chiffre non conforme
    if hd < 0.0 :
        print(" Vous devez éviter les nombres négatifs !")
        hdéci() # tourniquet pour chiffre non conforme
    
    return
#-------------------------------------------------------------------- convertion de heure normal à décimal
def convdéci() :
    global heure
    global hr
    global minute
    global min
    global seconde
    global sec
    global hd
    
    min = seconde / 60
    hr = (min + minute) / 60
    hr = (hr + heure)
    hd = hr

    return
#-------------------------------------------------------------------- convertion de heure décimal à normal
def convnorm() :
    global hd
    global hr
    global heure
    global min
    global mn
    global minute
    global sec
    global seconde
    
    heure = int(hd)
    min = hd - 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 hd
global hr
global heure
global min
global mn
global minute
global sec
global seconde
#----------------------------------------------------- initialisation des variables
choix = 0
prefer = 0
hd = 0.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 :
    hrnorm()
    if prefer == 1 :
        hrsys()
    if prefer == 2 :
        hrmanu()
    convdéci()
if choix == 2 :
    hdéci()
    convnorm()
hd = round(hd, 6)
heure = int(heure)
minute = int(minute)
seconde = round(seconde, 3)
#----------------------------------------------------- impression
print()
if choix == 1 :
    print()
    print("   L'heure normale :", heure, "hr:", minute, "min:", seconde, "sec")
    print()
    print(" Correspond a l'heure décimale :", hd)
if choix == 2 :
    print()
    print("    L'heure décimal :", hd)
    print()
    print("       correspond à :", heure, "hr:", minute, "min:", seconde, "sec")
#-----------------------------------------------------------------------------------Sortie
print()
print(" ----------------------")
bye = (input (" Entrer pour Sortir...!"))
