avancement_2.py

Created by julien-bernon

Created on September 30, 2019

3.83 KB


def tbl_litt(rc,prd):
    print("\nII - Construction du tbl d'avc")
    print("D'après les données le tbl littéral est le suivant :\n")
 
    
    tbl=[]
   
    lne=[]
    lne.append("      ")
    for i in rc :
        lne.append(str(i[1])+" "+i[0])
        lne.append(" + ")
    del(lne[-1])
    lne.append(" --> ")    
    for i in prd :
        lne.append(str(i[1])+" "+i[0])
        lne.append(" + ")
    del(lne[-1])
    tbl.append(lne)
    
    
    lne=[]
    lne.append(" x=0  |")
    for i in rc :
        if (i[2]!="N") :
            lne.append(" n0("+i[0]+")")
        else :
            lne.append(" / ")
        lne.append(" | ")
    del(lne[-1])
    lne.append("     ")  
    for i in prd :
        if (i[2]!="N") :
            lne.append(" n0("+i[0]+")")
        else :
            lne.append(" / ")
        lne.append(" | ")
    del(lne[-1])
    tbl.append(lne)
    
   
    lne=[]
    lne.append("  x   |")
    for i in rc :
        if (i[2]!="N") :
            lne.append("   n0("+i[0]+")-"+str(i[1])+"x  ")
        else :
            lne.append(" / ")
        lne.append(" | ")
    del(lne[-1])
    lne.append("     ")
    for i in prd :
        if (i[2]!="N") :
            lne.append("   n0("+i[0]+")-"+str(i[1])+"x  ")
        else :
            lne.append(" / ")
        lne.append(" | ")
    del(lne[-1])
    tbl.append(lne)
    
  
    lne=[]
    lne.append(" xmax |")
    for i in rc :
        if (i[2]!="N") :
            lne.append(" n0("+i[0]+")-"+str(i[1])+"xmax ")
        else :
            lne.append(" / ")
        lne.append(" | ")
    del(lne[-1])
    lne.append("     ")
    for i in prd :
        if (i[2]!="N") :
            lne.append(" n0("+i[0]+")-"+str(i[1])+"xmax ")
        else :
            lne.append(" / ")
        lne.append(" | ")
    del(lne[-1])
    tbl.append(lne)
    
    tbl=centrage_texte(tbl)
    
    affiche_tbl(tbl)
    return tbl
    


def centrage_texte(tbl):     
  
    dummy=[]
    for i in range(len(tbl)):
        dummy.append([])
        for j in range(len(tbl[i])):
            dummy[i].append([])
    
    for i in range(len(tbl[0])):
        max_char=max(len(tbl[0][i]),len(tbl[1][i]),len(tbl[2][i]),len(tbl[3][i]))
        for j in range(len(tbl)):
            a_ajouter=max_char-len(tbl[j][i])
            espaces_g,espaces_d="",""
            for k in range(a_ajouter//2):
                espaces_g+=" "
            for h in range(a_ajouter-a_ajouter//2):
                espaces_d+=" "
            dummy[j][i]=espaces_g+tbl[j][i]+espaces_d
    return dummy


def affiche_tbl(tbl):
    for i in range(len(tbl)):
        if (i==1):
     
            largeur_totale=0
            for k in tbl[0]:
                largeur_totale+=len(k)
            lne=""
            for k in range(largeur_totale):
                lne+="-"
            print(lne)
        lne=""
        for j in tbl[i]:
            lne+=j
        print(lne)

def avc_max(rc):
    print(style("III- avc",32))
    xmax=1e20
    for i in rc:
        if(i[2]!="N"):
            i[3]=i[2]/i[1]
            if (i[3]<xmax):
                xmax=i[3]
    print("L'avc maximal vaut donc xmax="+str(xmax)+"mol.\n")
    return rc,xmax


def bilan_matiere(rc,prd,xmax,tbl):
    print("IV- Bilan de matière\n")
    
    lne=[]
    lne.append(" xmax |")
    for i in rc :
        if (i[2]!="N") :
            i[4]=i[2]-i[1]*xmax
            lne.append(str(i[4]))
        else :
            i[4]=i[2]
            lne.append(" / ")
        lne.append(" | ")
    del(lne[-1])
    lne.append("     ")
    for i in prd :
        if (i[2]!="N") :
            i[4]=i[2]+i[1]*xmax
            lne.append(str(i[4]))
        else :
            i[4]=i[2]
            lne.append(" / ")
        lne.append(" | ")
    del(lne[-1])
    while (len(tbl)>4):
        del(tbl[4])
    tbl.append(lne)
    
    tbl=centrage_texte(tbl)
    
    affiche_tbl(tbl)
    return rc,prd,xmax,tbl