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