# -*- coding: utf-8 -*-
#----------------------
print()
print(" calcul de pourcentage '%' dans tous les sens possibles")
print(" ------------------------------------------------------")
print()
#-----------------------------choisir l'option
def question() :
    print("        Selon les données en votre possession")
    print(" Choisissez le chiffre de l'une des options suivantes")
    print()
    print("       valeurTotale.....et...Pourcentage.........: 1")
    print("       valeurTotale.....et...Prix payé...........: 2")
    print("       valeurTotale.....et...valeurPartielle.....: 3")
    print("       valeurPartielle..et...Prix payé...........: 4")
    print("       valeurPartielle..et...Pourcentage.........: 5")
    print("       Prix payé........et...Pourcentage.........: 6")
    print()
    
    return
#-----------------------------choix
def choisir() :
    global choix
    
    choix = input("      Entrez le numéro de l'option choisie : ")
    print()
    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 > 11 :
        print("       Erreur se chiffre est trop grand !")    
        choisir()  # tourniquet pour chiffre trop grand
        print()
    
    return
#-----------------------------Entrée
def nmbr() :
    global choix
    global pourcentage
    global prixPayé
    global valeurPartielle
    global valeurTotale
#    global minoration
#    global majoration
#-------------------------------------------------------------------------------( 1 )
    if choix == 1 :
        pourcentage = 0
        if valeurTotale <= 0 :
            valeurTotale = input("valeurTotale...........: ")
            try :
                valeurTotale = float(valeurTotale)
            except :
                print("Vous devez taper uniquement un chiffre, rien d'autre")
                nmbr() # tourniquet pour chiffre non conforme
            if valeurTotale <= 0 :
                print("          Erreur ce chiffre doit être ni négatif ni nul !")
                nmbr() # tourniquet pour chiffre non conforme
        
        pourcentage = input("Pourcentage..........: ")
        try :
            pourcentage = float(pourcentage)
        except :
            print("Vous devez taper uniquement un chiffre, rien d'autre")
            nmbr() # tourniquet pour chiffre non conforme
        if pourcentage <= 0 :
            print("          Erreur ce chiffre doit être ni négatif ni nul !")
            nmbr() # tourniquet pour chiffre non conforme
#-------------------------------------------------------------------------------( 2 )
    if choix == 2 :
        prixPayé = 0
        if valeurTotale <= 0 :
            valeurTotale = input("valeurTotale...........: ")
            try :
                valeurTotale = float(valeurTotale)
            except :
                print("Vous devez taper uniquement un chiffre, rien d'autre")
                nmbr() # tourniquet pour chiffre non conforme
            if valeurTotale <= 0 :
                print("          Erreur ce chiffre doit être ni négatif ni nul !")
                nmbr() # tourniquet pour chiffre non conforme
        
        prixPayé = input("prixPayé minoré............: ")
        try :
            prixPayé = float(prixPayé)    # ce calcul est uniquement pour une minoration
        except :
            print("Vous devez taper uniquement un chiffre, rien d'autre")
            nmbr() # tourniquet pour chiffre non conforme
        if prixPayé <= 0 :
            print("          Erreur ce chiffre doit être ni négatif ni nul !")
            nmbr() # tourniquet pour chiffre non conforme
#-------------------------------------------------------------------------------( 3 )
    if choix == 3 :
        valeurPartielle = 0
        if valeurTotale <= 0 :
            valeurTotale = input("valeurTotale...........: ")
            try :
                valeurTotale = float(valeurTotale)
            except :
                print("Vous devez taper uniquement un chiffre, rien d'autre")
                nmbr() # tourniquet pour chiffre non conforme
            if valeurTotale <= 0 :
                print("          Erreur ce chiffre doit être ni négatif ni nul !")
                nmbr() # tourniquet pour chiffre non conforme
        
        valeurPartielle = input("valeurPartielle...........: ")
        try :
            valeurPartielle = float(valeurPartielle)
        except :
            print("Vous devez taper uniquement un chiffre, rien d'autre")
            nmbr() # tourniquet pour chiffre non conforme
        if valeurPartielle <= 0 :
            print("          Erreur ce chiffre doit être ni négatif ni nul !")
            nmbr() # tourniquet pour chiffre non conforme
#-------------------------------------------------------------------------------( 4 )    problème
    if choix == 4 :
        prixPayé = 0
        if valeurPartielle <= 0 :
            valeurPartielle = input("valeurPartielle............: ")
            try :
                valeurPartielle = float(valeurPartielle)
            except :
                print("Vous devez taper uniquement un chiffre, rien d'autre")
                nmbr() # tourniquet pour chiffre non conforme
            if valeurPartielle <= 0 :
                print("          Erreur ce chiffre doit être ni négatif ni nul !")
                nmbr() # tourniquet pour chiffre non conforme
        
        prixPayé = input("prixPayé minoré............: ")
        try :
            prixPayé = float(prixPayé)    # ce calcul est uniquement pour une minoration
        except :
            print("Vous devez taper uniquement un chiffre, rien d'autre")
            nmbr() # tourniquet pour chiffre non conforme
        if prixPayé <= 0 :
            print("          Erreur ce chiffre doit être ni négatif ni nul !")
            nmbr() # tourniquet pour chiffre non conforme
#-------------------------------------------------------------------------------( 5 )
    if choix == 5 :
        valeurPartielle = 0
        if pourcentage <= 0 :
            pourcentage = input("pourcentage...........: ")
            try :
                pourcentage = float(pourcentage)
            except :
                print("Vous devez taper uniquement un chiffre, rien d'autre")
                nmbr() # tourniquet pour chiffre non conforme
            if pourcentage <= 0 :
                print("          Erreur ce chiffre doit être ni négatif ni nul !")
                nmbr() # tourniquet pour chiffre non conforme
        
        valeurPartielle = input("valeurPartielle...........: ")
        try :
            valeurPartielle = float(valeurPartielle)
        except :
            print("Vous devez taper uniquement un chiffre, rien d'autre")
            nmbr() # tourniquet pour chiffre non conforme
        if valeurPartielle <= 0 :
            print("          Erreur ce chiffre doit être ni négatif ni nul !")
            nmbr() # tourniquet pour chiffre non conforme
#-------------------------------------------------------------------------------( 6 )    problème
    if choix == 6 :
        prixPayé = 0
        if pourcentage <= 0 :
            pourcentage = input("pourcentage...........: ")
            try :
                pourcentage = float(pourcentage)
            except :
                print("Vous devez taper uniquement un chiffre, rien d'autre")
                nmbr() # tourniquet pour chiffre non conforme
            if pourcentage <= 0 :
                print("          Erreur ce chiffre doit être ni négatif ni nul !")
                nmbr() # tourniquet pour chiffre non conforme
        
        prixPayé = input("prixPayé minoré............: ")
        try :
            prixPayé = float(prixPayé)    # ce calcul est uniquement pour une minoration
        except :
            print("Vous devez taper uniquement un chiffre, rien d'autre")
            nmbr() # tourniquet pour chiffre non conforme
        if prixPayé <= 0 :
            print("          Erreur ce chiffre doit être ni négatif ni nul !")
            nmbr() # tourniquet pour chiffre non conforme
    return
#-----------------------------calcul selon choix
def calc() :
    global pourcentage
    global prixPayé
    global valeurPartielle
    global valeurTotale
    global minoration
    global majoration
#-------------------------------------------------------------------------------< 1 >
    if choix == 1 :
        valeurPartielle = valeurTotale / 100 * pourcentage
        minoration = valeurTotale - valeurPartielle
        majoration = valeurTotale + valeurPartielle
        
        print()
        print("valeurPartielle......:", valeurPartielle)
        print("Minoration...........:", minoration)
        print("Majoration...........:", majoration)
#-------------------------------------------------------------------------------< 2 >
    if choix == 2 :
        valeurPartielle = valeurTotale - prixPayé
        valeurPartielle =  abs(valeurPartielle)
        pourcentage = valeurPartielle * 100 / valeurTotale
        
        print()
        print("valeurPartielle......:", valeurPartielle)
        print("Pourcentage..........:", pourcentage, "%")
#-------------------------------------------------------------------------------< 3 >
    if choix == 3 :
        pourcentage = 100 / valeurTotale * valeurPartielle
        minoration = valeurTotale - valeurPartielle
        majoration = valeurTotale + valeurPartielle
        
        print()
        print("Pourcentage..........:", pourcentage, "%")
        print("Minoration...........:", minoration)
        print("Majoration...........:", majoration)
#-------------------------------------------------------------------------------< 4 >
    if choix == 4 :
        valeurTotale = prixPayé + valeurPartielle       # pour une minoration
        # valeurTotale = prixPayé - valeurPartielle     # pour une majoration (non calculée ici)
        pourcentage = (100 * valeurPartielle) / valeurTotale
            
        print()
        print("Prix Total.................:", valeurTotale)
        print("Pourcentage................:", pourcentage, "%")
#-------------------------------------------------------------------------------< 5 >
    if choix == 5 :
        valeurTotale = valeurPartielle * 100 / pourcentage
        minoration = valeurTotale - valeurPartielle
        majoration = valeurTotale + valeurPartielle
        
        print()
        print("Prix Total..............:", valeurTotale)
        print("Prix minoré.............:", minoration)
        print("Prix majoré.............:", majoration)
#-------------------------------------------------------------------------------< 6 >
    if choix == 6 :
        valeurPartielle = pourcentage / (100 - pourcentage) * prixPayé
        valeurPartielle = round(valeurPartielle, 2)
        valeurTotale = prixPayé + valeurPartielle
        
        print()
        print("valeurPartielle..............:", valeurPartielle)
        print("Prix Total..............:", valeurTotale)
    return
#=================================
# Début de la lecture du programme
#-----------------------------déclaration des variables globales
global choix
global valeurTotale
global pourcentage
global prixPayé
global valeurPartielle
global minoration
global majoration
#-----------------------------initialisation des variables
choix = 0
valeurTotale = 0.0
pourcentage = 0.0
prixPayé = 0.0
valeurPartielle = 0.0
minoration = 0.0
majoration = 0.0
#-----------------------------[main]
question()
choisir()
nmbr()
calc()
#-----------------------------impression
# faite en cours de programme
#-----------------------------Sortie
print()
print("----------------------")
bye = (input ("Entrer pour Sortir...!"))
