def open_frac(a_num,a_denom,b_num,b_denom,c_num,c_denom): prgm.fraction_val[0]=a_num prgm.fraction_val[1]=a_denom prgm.fraction_val[2]=b_num prgm.fraction_val[3]=b_denom prgm.fraction_val[4]=c_num prgm.fraction_val[5]=c_denom if preferences.afficher_graphs==1: prgm.plt.close() for label in prgm.root.grid_slaves(): if int(label.grid_info()['column'])==6: label.destroy() Col7=prgm.Label(prgm.root,width=100) Col7.grid(column=6,row=5) if prgm.ValeurA_n.get()!=0 and prgm.ValeurA_d.get()>0 and prgm.ValeurB_d.get()>0 and prgm.ValeurC_d.get()>0: prgm.latest='fraction' sec_frac(a_num,a_denom,b_num,b_denom,c_num,c_denom) else: i=0 if prgm.ValeurA_n.get()==0: L1=prgm.Label(prgm.root,text='Erreur\u00A0:\u00A0a\u2208\u2124*') L1.grid(column=6,row=i,sticky='w') i=i+1 if prgm.ValeurA_d.get()<=0 or prgm.ValeurB_d.get()<=0 or prgm.ValeurC_d.get()<=0: L1=prgm.Label(prgm.root,text='Erreur\u00A0:\u00A0D\u00E9nominateur\u2208\u2115*') L1.grid(column=6,row=i,sticky='w') i=i+1
def main_frac(): if preferences.afficher_graphs==1: prgm.plt.close() for label in prgm.root.grid_slaves(): if int(label.grid_info()['column'])==6: label.destroy() Col7=prgm.Label(prgm.root,width=50) Col7.grid(column=6,row=5) if prgm.ValeurA_n.get()!=0 and prgm.ValeurA_d.get()>0 and prgm.ValeurB_d.get()>0 and prgm.ValeurC_d.get()>0: prgm.latest='fraction' prgm.ValeurA_n.set(prgm.ValeurA_n.get()) prgm.ValeurA_d.set(prgm.ValeurA_d.get()) prgm.ValeurB_n.set(prgm.ValeurB_n.get()) prgm.ValeurB_d.set(prgm.ValeurB_d.get()) prgm.ValeurC_n.set(prgm.ValeurC_n.get()) prgm.ValeurC_d.set(prgm.ValeurC_d.get()) sec_frac(prgm.ValeurA_n.get(),prgm.ValeurA_d.get(),prgm.ValeurB_n.get(),prgm.ValeurB_d.get(),prgm.ValeurC_n.get(),prgm.ValeurC_d.get()) else: i=0 if prgm.ValeurA_n.get()==0: L1=prgm.Label(prgm.root,text='Erreur\u00A0:\u00A0a\u2208\u2124*') L1.grid(column=6,row=i,sticky='w') i=i+1 if prgm.ValeurA_d.get()<=0 or prgm.ValeurB_d.get()<=0 or prgm.ValeurC_d.get()<=0: L1=prgm.Label(prgm.root,text='Erreur\u00A0:\u00A0D\u00E9nominateur\u2208\u2115*') L1.grid(column=6,row=i,sticky='w') i=i+1
def abt_maj(): try: download() prgm.maj_root = prgm.Tk() if 'DejaVu Sans' in list(prgm.font.families()): police = prgm.font.Font(prgm.maj_root, family='DejaVu Sans', size=10) prgm.maj_root.option_add('*Font', police) import version if version.version > prgm.version: url = 'https://raw.githubusercontent.com/rfoxinter/Python/master/EquationsSecondDegre/maj.py' urllib.request.urlretrieve(url, 'maj.py') prgm.Label(prgm.maj_root, text='Une mise \u00E0 jour est disponible.', width=50).grid(column=0, row=0) bouton_maj = prgm.Button( prgm.maj_root, text='Mettre \u00E0 jour l\u2019application', command=__init__.mise_a_jour) bouton_maj.grid(column=0, row=2) bouton_fermer = prgm.Button(prgm.maj_root, text='Ne pas mettre à jour', command=prgm.maj_root.destroy) bouton_fermer.grid(column=0, row=3) else: prgm.Label(prgm.maj_root, text='L\u2019application est \u00E0 jour.', width=50).grid(column=0, row=0) bouton_fermer = prgm.Button(prgm.maj_root, text='Fermer', command=prgm.maj_root.destroy) bouton_fermer.grid(column=0, row=2) prgm.maj_root.title('Mise \u00E0 jour') prgm.maj_root.resizable(width=False, height=False) if prgm.os.name == 'nt': prgm.maj_root.iconbitmap('python.ico') prgm.maj_root.mainloop() except: prgm.maj_root = prgm.Tk() if 'DejaVu Sans' in list(prgm.font.families()): police = prgm.font.Font(prgm.maj_root, family='DejaVu Sans', size=10) prgm.maj_root.option_add('*Font', police) prgm.Label(prgm.maj_root, text='Impossible de v\u00E9rifier les mises \u00E0 jour.', width=50).grid(column=0, row=0) bouton_fermer = prgm.Button(prgm.maj_root, text='Fermer', command=prgm.maj_root.destroy) bouton_fermer.grid(column=0, row=2) prgm.maj_root.title('Mise \u00E0 jour') prgm.maj_root.resizable(width=False, height=False) if prgm.os.name == 'nt': prgm.maj_root.iconbitmap('python.ico') prgm.maj_root.mainloop()
def main(): if preferences.afficher_graphs == 1: prgm.plt.close() for label in prgm.root.grid_slaves(): if int(label.grid_info()['column']) == 6: label.destroy() Col7 = prgm.Label(prgm.root, width=100) Col7.grid(column=6, row=5) L1 = prgm.Label( prgm.root, text='Une erreur est survenue lors de l\u2019ouverture du fichier') L1.grid(column=6, row=0, sticky='w')
def main(a_num,a_denom,b_num,b_denom,delta_num,delta_denom): x1_num_int=int(-b_num*(delta_denom**0.5)*a_denom) x1_num_rt_int=int(+b_denom*a_denom) x1_num_rt=int(delta_num) x1_denom=int(b_denom*2*a_num*(delta_denom**0.5)) x1_num_int_div=x1_num_int if x1_num_int==0: x1_num_int_div=x1_denom div_x1=2 while div_x1<=abs(x1_num_int_div) and div_x1<=abs(x1_denom) and (div_x1<=abs(x1_num_rt_int) or div_x1**2<=x1_num_rt): if x1_num_int%div_x1==0 and x1_denom%div_x1==0 and (x1_num_rt_int%div_x1==0 or x1_num_rt%div_x1**2==0): x1_num_int=x1_num_int//div_x1 x1_denom=x1_denom//div_x1 if x1_num_rt%div_x1**2==0: x1_num_rt=x1_num_rt//div_x1**2 else: x1_num_rt_int=x1_num_rt_int//div_x1 x1_num_int_div=x1_num_int_div//div_x1 else: div_x1=div_x1+1 x1_num_1=str(x1_num_int) x1_num_2='' x1_denom_str=str(x1_denom) if x1_num_rt_int==1: x1_num_2='+\u221A('+str(x1_num_rt)+')' elif x1_num_rt_int==-1: x1_num_2='-\u221A('+str(x1_num_rt)+')' elif x1_num_rt_int<0: x1_num_2=str(x1_num_rt_int)+'\u221A('+str(x1_num_rt)+')' else: x1_num_2='+'+str(x1_num_rt_int)+'\u221A('+str(x1_num_rt)+')' if x1_num_int==0: if x1_denom==1: L4=prgm.Label(prgm.root,text='x\u2082='+x1_num_2.replace('+','')+'='+str(((-b_num*a_denom*(delta_denom**0.5))+(a_denom*b_denom*(delta_num**0.5)))/(2*a_num*b_denom*(delta_denom**0.5))).replace('.',',')) L4.grid(column=6,row=4,sticky='w') prgm.rep[6]=L4.cget('text') else: L4=prgm.Label(prgm.root,text='x\u2082=('+x1_num_2.replace('+','')+')/('+x1_denom_str+')='+str(((-b_num*a_denom*(delta_denom**0.5))+(a_denom*b_denom*(delta_num**0.5)))/(2*a_num*b_denom*(delta_denom**0.5))).replace('.',',')) L4.grid(column=6,row=4,sticky='w') prgm.rep[6]=L4.cget('text') else: if x1_denom==1: L4=prgm.Label(prgm.root,text='x\u2082='+x1_num_1+x1_num_2+'='+str(((-b_num*a_denom*(delta_denom**0.5))+(a_denom*b_denom*(delta_num**0.5)))/(2*a_num*b_denom*(delta_denom**0.5))).replace('.',',')) L4.grid(column=6,row=4,sticky='w') prgm.rep[6]=L4.cget('text') else: L4=prgm.Label(prgm.root,text='x\u2082=('+x1_num_1+x1_num_2+')/('+x1_denom_str+')='+str(((-b_num*a_denom*(delta_denom**0.5))+(a_denom*b_denom*(delta_num**0.5)))/(2*a_num*b_denom*(delta_denom**0.5))).replace('.',',')) L4.grid(column=6,row=4,sticky='w') prgm.rep[6]=L4.cget('text')
def main(extension): root = Toplevel() if 'DejaVu Sans' in list(prgm.font.families()): police = prgm.font.Font(root, family='DejaVu Sans', size=10) root.option_add('*Font', police) qualite = prgm.IntVar(root) qualite.set(100) bar_qualite = Scale(root, from_=100, to=500, orient='horizontal', var=qualite, tickinterval=50, label='Résolution', length=325, resolution=5) bar_qualite.grid(column=0, row=0) prgm.Label(root, text='', width=50).grid(column=0, row=1) bouton_fermer = prgm.Button(root, text='Valider', command=root.destroy) bouton_fermer.grid(column=0, row=2) root.title('Exporter en png') root.resizable(width=False, height=False) if prgm.os.name == 'nt': root.iconbitmap('python.ico') prgm.root.wait_window(root) return qualite.get()
def main(a_num,a_denom,b_num,b_denom,c_num,c_denom,alpha_num,alpha_denom,beta_num,beta_denom,extension,path): if extension!='': prgm.plt.figure(300) if preferences.afficher_graphs==1 or extension!='': prgm.plt.rcParams['pdf.fonttype']=42 prgm.plt.rcParams['font.family']='DejaVu Sans' prgm.plt.rcParams['font.size']='10' L4=prgm.Label(prgm.root,text='L\u2019\u00E9quation n\u2019admet pas de racine dans \u211D.') prgm.rep[5]=L4.cget('text') L4.grid(column=6,row=3,sticky='w') if preferences.afficher_graphs==1: pltxmin=alpha_num/alpha_denom-10 pltxmax=alpha_num/alpha_denom+10 ymax=0 if (a_num/a_denom)*(pltxmin)**2+(b_num/b_denom)*(pltxmin)+(c_num/c_denom)>(a_num/a_denom)*(pltxmax)**2+(b_num/b_denom)*(pltxmax)+(c_num/c_denom): if (a_num/a_denom)*(pltxmin)**2+(b_num/b_denom)*(pltxmin)+(c_num/c_denom)>0: ymax=(a_num/a_denom)*(pltxmin)**2+(b_num/b_denom)*(pltxmin)+(c_num/c_denom) else: ymax=(a_num/a_denom)*(pltxmax)**2+(b_num/b_denom)*(pltxmax)+(c_num/c_denom) else: if (a_num/a_denom)*(pltxmax)**2+(b_num/b_denom)*(pltxmax)+(c_num/c_denom)>0: ymax=(a_num/a_denom)*(pltxmax)**2+(b_num/b_denom)*(pltxmax)+(c_num/c_denom) else: ymax=(a_num/a_denom)*(pltxmin)**2+(b_num/b_denom)*(pltxmin)+(c_num/c_denom) x=prgm.linspace(pltxmin,pltxmax,1000) y=(a_num/a_denom)*x**2+(b_num/b_denom)*x+(c_num/c_denom) prgm.plt.plot(x,y,c='blue') prgm.plt.scatter(alpha_num/alpha_denom,beta_num/beta_denom,c='red',marker='x',label='(\u03B1;\u03B2)') prgm.plt.xlabel('x') prgm.plt.ylabel('y=f(x)') pltymin=0 pltymax=0 if beta_num/beta_denom-ymax/100<ymax: pltymin=beta_num/beta_denom-ymax/100 pltymax=ymax else: pltymin=ymax pltymax=beta_num/beta_denom-ymax/100 prgm.plt.axis([pltxmin,pltxmax,pltymin,pltymax]) prgm.plt.axhline(y=0,c='black') prgm.plt.axvline(x=0,c='black') prgm.plt.legend() prgm.plt.title(fraction_equation.main()) if extension=='pdf': from matplotlib.backends.backend_pdf import PdfPages prgm.plt.savefig(path) prgm.plt.show(block=False) prgm.plt.close(300) elif extension!='': if extension=='png': from images import png prgm.plt.rcParams['savefig.dpi'],prgm.plt.rcParams['savefig.transparent']=png.main(extension) elif extension=='jpg': from images import jpg prgm.plt.rcParams['savefig.dpi']=jpg.main(extension) prgm.plt.savefig(path) prgm.plt.show(block=False) prgm.plt.close(300) else: prgm.plt.show()
def main_ent(): if preferences.afficher_graphs == 1: prgm.plt.close() for label in prgm.root.grid_slaves(): if int(label.grid_info()['column']) == 6: label.destroy() Col7 = prgm.Label(prgm.root, width=50) Col7.grid(column=6, row=5) if prgm.ValeurA.get() != 0: prgm.latest = 'entier' prgm.ValeurA.set(prgm.ValeurA.get()) prgm.ValeurB.set(prgm.ValeurB.get()) prgm.ValeurC.set(prgm.ValeurC.get()) sec_ent(prgm.ValeurA.get(), prgm.ValeurB.get(), prgm.ValeurC.get()) else: L1 = prgm.Label(prgm.root, text='Erreur\u00A0:\u00A0a\u2208\u2124*') L1.grid(column=6, row=0, sticky='w')
def open_ent(a, b, c): if preferences.afficher_graphs == 1: prgm.plt.close() for label in prgm.root.grid_slaves(): if int(label.grid_info()['column']) == 6: label.destroy() Col7 = prgm.Label(prgm.root, width=100) Col7.grid(column=6, row=5) if prgm.ValeurA.get() != 0: prgm.latest = 'entier' prgm.entier_val[0] = a prgm.entier_val[1] = b prgm.entier_val[2] = c sec_ent(a, b, c) else: L1 = prgm.Label(prgm.root, text='Erreur\u00A0:\u00A0a\u2208\u2124*') L1.grid(column=6, row=0, sticky='w')
def close(event=None): try: prgm.about_root.destroy() except: pass try: prgm.maj_root.destroy() except: pass try: prgm.redemarrage.destroy() except: pass if preferences.afficher_graphs == 1: try: prgm.plt.close() except: pass prgm.root.destroy() if preferences.ver_maj == 1: download() import version root = prgm.Tk() if 'DejaVu Sans' in list(prgm.font.families()): police = prgm.font.Font(root, family='DejaVu Sans', size=10) root.option_add('*Font', police) if version.version > prgm.version: url = 'https://raw.githubusercontent.com/rfoxinter/Python/master/EquationsSecondDegre/maj.py' urllib.request.urlretrieve(url, 'maj.py') prgm.Label(root, text='Une mise \u00E0 jour est disponible.', width=50).grid(column=0, row=0) bouton_maj = prgm.Button( root, text='Mettre \u00E0 jour l\u2019application', command=__init__.mise_a_jour_quitter) bouton_maj.grid(column=0, row=1) bouton_fermer = prgm.Button( root, text='Fermer sans mettre \u00E0 jour l\u2019application', command=root.destroy) bouton_fermer.grid(column=0, row=2) root.title('Mise \u00E0 jour') root.resizable(width=False, height=False) if prgm.os.name == 'nt': import ctypes ctypes.windll.shell32.SetCurrentProcessExplicitAppUserModelID( 'equations') img = prgm.PhotoImage(file='python.png') root.tk.call('wm', 'iconphoto', root._w, img) root.mainloop() else: root.destroy()
def main(): prgm.about_root = prgm.Tk() if 'DejaVu Sans' in list(prgm.font.families()): police = prgm.font.Font(prgm.about_root, family='DejaVu Sans', size=10) prgm.about_root.option_add('*Font', police) prgm.Label(prgm.about_root, text='Version actuelle\u00A0:\u00A0' + str(prgm.version)).grid( column=0, row=0, sticky='w') prgm.Label( prgm.about_root, text='-\u00A0Am\u00E9lioration de l\u2019affichage des r\u00E9sultats ' ).grid(column=0, row=1, sticky='w') prgm.Label(prgm.about_root, width=50).grid(column=0, row=9) bouton_fermer = prgm.Button(prgm.about_root, text="Fermer", command=prgm.about_root.destroy) bouton_fermer.grid(column=0, row=10) prgm.about_root.title("\u00C0 propos") prgm.about_root.resizable(width=False, height=False) if prgm.os.name == 'nt': prgm.about_root.iconbitmap('a_propos.ico') prgm.about_root.mainloop()
def main(a_num, a_denom, b_num, b_denom, delta_num, delta_denom): x1_num_1 = '' x1_num_2 = '' x1_denom = '' x1_num_int_1 = int(-b_num * a_denom) x1_num_rt_1 = int(delta_denom) x1_num_int_2 = int(-b_denom * a_denom) x1_num_rt_2 = int(delta_num) x1_denom_int = int(b_denom * 2 * a_num) x1_denom_rt = int(delta_denom) x1_num_int_1_div = x1_num_int_1 x1_num_rt_1_div = x1_num_rt_1 if x1_num_rt_1 == 0: x1_num_int_1 = x1_denom_int x1_num_rt_1 = x1_denom_int div_x1 = 2 while (div_x1 <= abs(x1_num_int_2) or div_x1**2 <= x1_num_rt_2) and ( div_x1 <= abs(x1_denom_int) or div_x1**2 <= x1_denom_rt) and (div_x1 <= abs(x1_num_int_1_div) or div_x1**2 <= x1_num_rt_1): if (x1_num_int_2 % div_x1 == 0 or x1_num_rt_2 % div_x1**2 == 0) and ( x1_denom_int % div_x1 == 0 or x1_denom_rt % div_x1**2 == 0) and (x1_num_int_1 % div_x1 == 0 or x1_num_rt_1 % div_x1**2 == 0): if x1_num_rt_2 % div_x1**2 == 0: x1_num_rt_2 = x1_num_rt_2 // div_x1**2 else: x1_num_int_2 = x1_num_int_2 // div_x1 if x1_denom_rt % div_x1**2 == 0: x1_denom_rt = x1_denom_rt // div_x1**2 else: x1_denom_int = x1_denom_int // div_x1 if x1_num_rt_1 % div_x1**2 == 0: x1_num_rt_1 = x1_num_rt_1 // div_x1**2 else: x1_num_int_1 = x1_num_int_1 // div_x1 x1_num_int_1_div = x1_num_int_1_div // div_x1 x1_num_rt_1_div = x1_num_rt_1_div // div_x1 else: div_x1 = div_x1 + 1 if x1_denom_int == 1: x1_denom = '\u221A(' + str(x1_denom_rt) + ')' elif x1_denom_int == -1: x1_denom = '-\u221A(' + str(x1_denom_rt) + ')' else: x1_denom = str(x1_denom_int) + '\u221A(' + str(x1_denom_rt) + ')' if x1_num_int_1 == 1: x1_num_1 = '+\u221A(' + str(x1_num_rt_1) + ')' elif x1_num_int_1 == -1: x1_num_1 = '-\u221A(' + str(x1_num_rt_1) + ')' else: x1_num_1 = str(x1_num_int_1) + '\u221A(' + str(x1_num_rt_1) + ')' if x1_num_int_2 == 1: x1_num_2 = '\u221A(' + str(x1_num_rt_2) + ')' elif x1_num_int_2 == -1: x1_num_2 = '-\u221A(' + str(x1_num_rt_2) + ')' elif x1_num_int_2 < 0: x1_num_2 = str(x1_num_int_2) + '\u221A(' + str(x1_num_rt_2) + ')' else: x1_num_2 = '+' + str(x1_num_int_2) + '\u221A(' + str(x1_num_rt_2) + ')' if x1_num_int_1 == 0: L4 = prgm.Label(prgm.root, text='x\u2081=(' + x1_num_2.replace('+', '') + ')/(' + x1_denom + ')' + egalite.main( ((-b_num * a_denom * delta_denom**0.5) - (a_denom * b_denom * delta_num**0.5)) / (2 * a_num * b_denom * delta_denom**0.5)) + str( round(((-b_num * a_denom * delta_denom**0.5) - (a_denom * b_denom * delta_num**0.5)) / (2 * a_num * b_denom * delta_denom**0.5), 10)).replace('.', ',')) L4.grid(column=6, row=3, sticky='w') prgm.rep[5] = L4.cget('text') else: L4 = prgm.Label(prgm.root, text='x\u2081=(' + x1_num_1 + x1_num_2 + ')/(' + x1_denom + ')' + egalite.main( ((-b_num * a_denom * delta_denom**0.5) - (a_denom * b_denom * delta_num**0.5)) / (2 * a_num * b_denom * delta_denom**0.5)) + str( round(((-b_num * a_denom * delta_denom**0.5) - (a_denom * b_denom * delta_num**0.5)) / (2 * a_num * b_denom * delta_denom**0.5), 10)).replace('.', ',')) L4.grid(column=6, row=3, sticky='w') prgm.rep[5] = L4.cget('text')
def sec_frac(a_num,a_denom,b_num,b_denom,c_num,c_denom): prgm.rep[6]='' prgm.fraction_val[0]=a_num prgm.fraction_val[1]=a_denom prgm.fraction_val[2]=b_num prgm.fraction_val[3]=b_denom prgm.fraction_val[4]=c_num prgm.fraction_val[5]=c_denom delta_num=int(b_num**2*a_denom*c_denom-4*a_num*c_num*b_denom**2) delta_denom=int(a_denom*b_denom**2*c_denom) if delta_num>0 and delta_denom<0: delta_num=-delta_num delta_denom=-delta_denom alpha_num=int(-b_num*a_denom) alpha_denom=int(2*a_num*b_denom) beta_num=int(-delta_num*a_denom) beta_denom=int(4*a_num*delta_denom) if delta_num%delta_denom==0: delta_num=delta_num//delta_denom delta_denom=1 L1=prgm.Label(prgm.root,text='\u0394='+str(delta_num)) L1.grid(column=6,row=0,sticky='w') prgm.rep[2]=L1.cget('text') else: div_delta=2 while div_delta<=abs(delta_num) and div_delta<=abs(delta_denom): if delta_num%div_delta==0 and delta_denom%div_delta==0: delta_num=delta_num//div_delta delta_denom=delta_denom//div_delta else: div_delta=div_delta+1 if delta_num<0 and delta_denom<0: L1=prgm.Label(prgm.root,text='\u0394='+str(int(-delta_num))+')/('+str(int(-delta_denom))+')'+egalite.main(delta_num/delta_denom)+str(round(delta_num/delta_denom,10)).replace('.',',')) L1.grid(column=6,row=0,sticky='w') prgm.rep[2]=L1.cget('text') else: L1=prgm.Label(prgm.root,text='\u0394=('+str(int(delta_num))+')/('+str(int(delta_denom))+')'+egalite.main(delta_num/delta_denom)+str(round(delta_num/delta_denom,10)).replace('.',',')) L1.grid(column=6,row=0,sticky='w') prgm.rep[2]=L1.cget('text') if alpha_num%alpha_denom==0: alpha=alpha_num//alpha_denom L2=prgm.Label(prgm.root,text='\u03B1='+str(alpha)) L2.grid(column=6,row=1,sticky='w') prgm.rep[3]=L2.cget('text') else: div_alpha=2 while div_alpha<=abs(alpha_num) and div_alpha<=abs(alpha_denom): if alpha_num%div_alpha==0 and alpha_denom%div_alpha==0: alpha_num=alpha_num//div_alpha alpha_denom=alpha_denom//div_alpha else: div_alpha=div_alpha+1 if alpha_num<0 and alpha_denom<0: L2=prgm.Label(prgm.root,text='\u03B1=('+str(int(-alpha_num))+')/('+str(int(-alpha_denom))+')'+egalite.main(alpha_num/alpha_denom)+str(round(alpha_num/alpha_denom,10)).replace('.',',')) L2.grid(column=6,row=1,sticky='w') prgm.rep[3]=L2.cget('text') else: L2=prgm.Label(prgm.root,text='\u03B1=('+str(int(alpha_num))+')/('+str(int(alpha_denom))+')'+egalite.main(alpha_num/alpha_denom)+str(round(alpha_num/alpha_denom,10)).replace('.',',')) L2.grid(column=6,row=1,sticky='w') prgm.rep[3]=L2.cget('text') if beta_num%beta_denom==0: beta=beta_num//beta_denom L3=prgm.Label(prgm.root,text='\u03B2='+str(beta)) L3.grid(column=6,row=2,sticky='w') prgm.rep[4]=L3.cget('text') else: div_beta=2 while div_beta<=abs(beta_num) and div_beta<=abs(beta_denom): if beta_num%div_beta==0 and beta_denom%div_beta==0: beta_num=beta_num//div_beta beta_denom=beta_denom//div_beta else: div_beta=div_beta+1 if beta_num<0 and beta_denom<0: L3=prgm.Label(prgm.root,text='\u03B2=('+str(int(-beta_num))+')/('+str(int(-beta_denom))+')'+egalite.main(beta_num/beta_denom)+str(round(beta_num/beta_denom,10)).replace('.',',')) L3.grid(column=6,row=2,sticky='w') prgm.rep[4]=L3.cget('text') else: L3=prgm.Label(prgm.root,text='\u03B2=('+str(int(beta_num))+')/('+str(int(beta_denom))+')'+egalite.main(beta_num/beta_denom)+str(round(beta_num/beta_denom,10)).replace('.',',')) L3.grid(column=6,row=2,sticky='w') prgm.rep[4]=L3.cget('text') if delta_num<0: fraction_pas_racine.main(a_num,a_denom,b_num,b_denom,c_num,c_denom,alpha_num,alpha_denom,beta_num,beta_denom,'','') elif delta_num==0: fraction_x0.main(a_num,a_denom,b_num,b_denom,c_num,c_denom,alpha_num,alpha_denom,beta_num,beta_denom,'','') else: fraction_x1.x1_frac(a_num,a_denom,b_num,b_denom,delta_num,delta_denom) fraction_x2.x2_frac(a_num,a_denom,b_num,b_denom,delta_num,delta_denom) if preferences.afficher_graphs==1: fraction_deux_racines_plt.main(a_num,a_denom,b_num,b_denom,c_num,c_denom,alpha_num,alpha_denom,beta_num,beta_denom,delta_num,delta_denom,'','')
def main(a_num, a_denom, b_num, b_denom, delta_num, delta_denom): x2_num_1 = '' x2_num_2 = '' x2_denom = '' x2_num_int_1 = int(-b_num * a_denom) x2_num_rt_1 = int(delta_denom) x2_num_int_2 = int(b_denom * a_denom) x2_num_rt_2 = int(delta_num) x2_denom_int = int(b_denom * 2 * a_num) x2_denom_rt = int(delta_denom) x2_num_int_1_div = x2_num_int_1 x2_num_rt_1_div = x2_num_rt_1 if x2_num_rt_1 == 0: x2_num_int_1 = x2_denom_int x2_num_rt_1 = x2_denom_int div_x2 = 2 while (div_x2 <= abs(x2_num_int_2) or div_x2**2 <= x2_num_rt_2) and ( div_x2 <= abs(x2_denom_int) or div_x2**2 <= x2_denom_rt) and (div_x2 <= abs(x2_num_int_1_div) or div_x2**2 <= x2_num_rt_1): if (x2_num_int_2 % div_x2 == 0 or x2_num_rt_2 % div_x2**2 == 0) and ( x2_denom_int % div_x2 == 0 or x2_denom_rt % div_x2**2 == 0) and (x2_num_int_1 % div_x2 == 0 or x2_num_rt_1 % div_x2**2 == 0): if x2_num_rt_2 % div_x2**2 == 0: x2_num_rt_2 = x2_num_rt_2 // div_x2**2 else: x2_num_int_2 = x2_num_int_2 // div_x2 if x2_denom_rt % div_x2**2 == 0: x2_denom_rt = x2_denom_rt // div_x2**2 else: x2_denom_int = x2_denom_int // div_x2 if x2_num_rt_1 % div_x2**2 == 0: x2_num_rt_1 = x2_num_rt_1 // div_x2**2 else: x2_num_int_1 = x2_num_int_1 // div_x2 x2_num_int_1_div = x2_num_int_1_div // div_x2 x2_num_rt_1_div = x2_num_rt_1_div // div_x2 else: div_x2 = div_x2 + 1 if x2_denom_int == 1: x2_denom = '\u221A(' + str(x2_denom_rt) + ')' elif x2_denom_int == -1: x2_denom = '-\u221A(' + str(x2_denom_rt) + ')' else: x2_denom = str(x2_denom_int) + '\u221A(' + str(x2_denom_rt) + ')' if x2_num_int_1 == 1: x2_num_1 = '+\u221A(' + str(x2_num_rt_1) + ')' elif x2_num_int_1 == -1: x2_num_1 = '-\u221A(' + str(x2_num_rt_1) + ')' else: x2_num_1 = str(x2_num_int_1) + '\u221A(' + str(x2_num_rt_1) + ')' if x2_num_int_2 == 1: x2_num_2 = '+\u221A(' + str(x2_num_rt_2) + ')' elif x2_num_int_2 == -1: x2_num_2 = '-\u221A(' + str(x2_num_rt_2) + ')' elif x2_num_int_2 < 0: x2_num_2 = str(x2_num_int_2) + '\u221A(' + str(x2_num_rt_2) + ')' else: x2_num_2 = '+' + str(x2_num_int_2) + '\u221A(' + str(x2_num_rt_2) + ')' if x2_num_int_1 == 0: L4 = prgm.Label(prgm.root, text='x\u2082=(' + x2_num_2.replace('+', '') + ')/(' + x2_denom + ')=' + str( ((-b_num * a_denom * (delta_denom**0.5)) + (a_denom * b_denom * (delta_num**0.5))) / (2 * a_num * b_denom * (delta_denom**0.5))).replace('.', ',')) L4.grid(column=6, row=4, sticky='w') prgm.rep[6] = L4.cget('text') else: L4 = prgm.Label( prgm.root, text='x\u2082=(' + x2_num_1 + x2_num_2 + ')/(' + x2_denom + ')=' + str(((-b_num * a_denom * (delta_denom**0.5)) + (a_denom * b_denom * (delta_num**0.5))) / (2 * a_num * b_denom * (delta_denom**0.5))).replace('.', ',')) L4.grid(column=6, row=4, sticky='w') prgm.rep[6] = L4.cget('text')
def main(a,b,delta): x1_num=-b-delta**0.5 x1_denom=2*a if delta**0.5==int(delta**0.5): if x1_num%x1_denom==0: x1=x1_num//x1_denom L4=prgm.Label(prgm.root,text='x\u2081='+str(int(x1))) L4.grid(column=6,row=3,sticky='w') prgm.rep[5]=L4.cget('text') else: div_x1=2 while div_x1<=abs(x1_num) and div_x1<=abs(x1_denom): if x1_num%div_x1==0 and x1_denom%div_x1==0: x1_num=x1_num//div_x1 x1_denom=x1_denom//div_x1 else: div_x1=div_x1+1 if x1_num<0 and x1_denom<0: L4=prgm.Label(prgm.root,text='x\u2081=('+str(int(-x1_num))+')/('+str(int(-x1_denom))+')'+egalite.main(x1_num/x1_denom)+str(round(x1_num/x1_denom,10)).replace('.',',')) L4.grid(column=6,row=3,sticky='w') prgm.rep[5]=L4.cget('text') else: L4=prgm.Label(prgm.root,text='x\u2081=('+str(int(x1_num))+')/('+str(int(x1_denom))+')'+egalite.main(x1_num/x1_denom)+str(round(x1_num/x1_denom,10)).replace('.',',')) L4.grid(column=6,row=3,sticky='w') prgm.rep[5]=L4.cget('text') else: x1_num_int=-b x1_num_rt=delta x1_denom_c=2*a x1_num_int_div=x1_num_int if x1_num_int_div==0: x1_num_int_div=x1_denom_c div_x1=2 while div_x1<=abs(x1_num_int_div) and div_x1<=abs(x1_denom_c): if x1_num_int%div_x1==0 and x1_denom_c%div_x1==0 and x1_num_rt%div_x1**2==0: x1_num_int=x1_num_int//div_x1 x1_denom_c=x1_denom_c//div_x1 x1_num_rt=x1_num_rt//div_x1**2 x1_num_int_div=x1_num_int_div//div_x1 else: div_x1=div_x1+1 if x1_num_int==0: if abs(x1_denom_c)==1: L4=prgm.Label(prgm.root,text='x\u2081=\u221A('+str(x1_num_rt)+')'+egalite.main(x1_num/x1_denom)+str(round(x1_num/x1_denom,10)).replace('.',',')) L4.grid(column=6,row=3,sticky='w') prgm.rep[5]=L4.cget('text') else: if x1_denom_c<0: L4=prgm.Label(prgm.root,text='x\u2081=\u221A('+str(x1_num_rt)+')'+egalite.main(x1_num/x1_denom)+str(round(x1_num/x1_denom,10)).replace('.',',')) L4.grid(column=6,row=3,sticky='w') prgm.rep[5]=L4.cget('text') else: L4=prgm.Label(prgm.root,text='x\u2081=-\u221A('+str(x1_num_rt)+')/('+str(int(x1_denom_c))+')'+egalite.main(x1_num/x1_denom)+str(round(x1_num/x1_denom,10)).replace('.',',')) L4.grid(column=6,row=3,sticky='w') prgm.rep[5]=L4.cget('text') elif x1_num_int<0 and x1_denom_c<0: if abs(x1_denom_c)==1: L4=prgm.Label(prgm.root,text='x\u2081='+str(int(-x1_num_int))+'+\u221A('+str(x1_num_rt)+')'+egalite.main(x1_num/x1_denom)+str(round(x1_num/x1_denom,10)).replace('.',',')) L4.grid(column=6,row=3,sticky='w') prgm.rep[5]=L4.cget('text') else: L4=prgm.Label(prgm.root,text='x\u2081=('+str(int(-x1_num_int))+'+\u221A('+str(x1_num_rt)+'))/('+str(int(-x1_denom_c))+')'+egalite.main(x1_num/x1_denom)+str(round(x1_num/x1_denom,10)).replace('.',',')) L4.grid(column=6,row=3,sticky='w') prgm.rep[5]=L4.cget('text') else: if abs(x1_denom_c)==1: L4=prgm.Label(prgm.root,text='x\u2081='+str(int(x1_num_int))+'-\u221A('+str(x1_num_rt)+')'+egalite.main(x1_num/x1_denom)+str(round(x1_num/x1_denom,10)).replace('.',',')) L4.grid(column=6,row=3,sticky='w') prgm.rep[5]=L4.cget('text') else: L4=prgm.Label(prgm.root,text='x\u2081=('+str(int(x1_num_int))+'-\u221A('+str(x1_num_rt)+'))/('+str(int(x1_denom_c))+')'+egalite.main(x1_num/x1_denom)+str(round(x1_num/x1_denom,10)).replace('.',',')) L4.grid(column=6,row=3,sticky='w') prgm.rep[5]=L4.cget('text')
def main(a_num, a_denom, b_num, b_denom, c_num, c_denom, alpha_num, alpha_denom, beta_num, beta_denom, extension, path): if extension != '': prgm.plt.figure(300) if preferences.afficher_graphs == 1 or extension != '': prgm.plt.rcParams['pdf.fonttype'] = 42 prgm.plt.rcParams['font.family'] = 'DejaVu Sans' prgm.plt.rcParams['font.size'] = '10' x0_num = -b_num * a_denom x0_denom = 2 * a_num * b_denom if x0_num % x0_denom == 0: x0 = x0_num // x0_denom L4 = prgm.Label(prgm.root, text='x\u2080=' + str(int(x0))) L4.grid(column=6, row=3, sticky='w') prgm.rep[5] = L4.cget('text') else: div_x0 = 2 while div_x0 <= abs(x0_num) and div_x0 <= abs(x0_denom): if x0_num % div_x0 == 0 and x0_denom % div_x0 == 0: x0_num = x0_num // div_x0 x0_denom = x0_denom // div_x0 else: div_x0 = div_x0 + 1 if x0_num < 0 and x0_denom < 0: L4 = prgm.Label( prgm.root, text='x\u2080=(' + str(int(-x0_num)) + ')/(' + str(int(-x0_denom)) + ')' + egalite.main(x0_num / x0_denom) + str(round(x0_num / x0_denom, 10)).replace('.', ',')) L4.grid(column=6, row=3, sticky='w') prgm.rep[5] = L4.cget('text') else: L4 = prgm.Label( prgm.root, text='x\u2080=(' + str(int(x0_num)) + ')/(' + str(int(x0_denom)) + ')' + egalite.main(x0_num / x0_denom) + str(round(x0_num / x0_denom, 10)).replace('.', ',')) L4.grid(column=6, row=3, sticky='w') prgm.rep[5] = L4.cget('text') if preferences.afficher_graphs == 1: pltxmin = alpha_num / alpha_denom - 10 pltxmax = alpha_num / alpha_denom + 10 ymax = 0 if (a_num / a_denom) * (pltxmin)**2 + (b_num / b_denom) * (pltxmin) + ( c_num / c_denom) > (a_num / a_denom) * (pltxmax)**2 + ( b_num / b_denom) * (pltxmax) + (c_num / c_denom): if (a_num / a_denom) * (pltxmin)**2 + (b_num / b_denom) * ( pltxmin) + (c_num / c_denom) > 0: ymax = (a_num / a_denom) * (pltxmin)**2 + (b_num / b_denom) * ( pltxmin) + (c_num / c_denom) else: ymax = (a_num / a_denom) * (pltxmax)**2 + (b_num / b_denom) * ( pltxmax) + (c_num / c_denom) else: if (a_num / a_denom) * (pltxmax)**2 + (b_num / b_denom) * ( pltxmax) + (c_num / c_denom) > 0: ymax = (a_num / a_denom) * (pltxmax)**2 + (b_num / b_denom) * ( pltxmax) + (c_num / c_denom) else: ymax = (a_num / a_denom) * (pltxmin)**2 + (b_num / b_denom) * ( pltxmin) + (c_num / c_denom) x = prgm.linspace(pltxmin, pltxmax, 1000) y = (a_num / a_denom) * x**2 + (b_num / b_denom) * x + (c_num / c_denom) prgm.plt.plot(x, y, c='blue') prgm.plt.scatter(alpha_num / alpha_denom, beta_num / beta_denom, c='red', marker='x', label='x\u2080=(\u03B1;\u03B2)') prgm.plt.xlabel('x') prgm.plt.ylabel('y=f(x)') pltymin = 0 pltymax = 0 if beta_num / beta_denom - ymax / 100 < ymax: pltymin = beta_num / beta_denom - ymax / 100 pltymax = ymax else: pltymin = ymax pltymax = beta_num / beta_denom - ymax / 100 prgm.plt.axis([pltxmin, pltxmax, pltymin, pltymax]) prgm.plt.axhline(y=0, c='black') prgm.plt.axvline(x=0, c='black') prgm.plt.legend() prgm.plt.title(fraction_equation.main()) if extension == 'pdf': from matplotlib.backends.backend_pdf import PdfPages prgm.plt.savefig(path) prgm.plt.show(block=False) prgm.plt.close(300) elif extension != '': if extension == 'png': from images import png prgm.plt.rcParams['savefig.dpi'], prgm.plt.rcParams[ 'savefig.transparent'] = png.main(extension) elif extension == 'jpg': from images import jpg prgm.plt.rcParams['savefig.dpi'] = jpg.main(extension) prgm.plt.savefig(path) prgm.plt.show(block=False) prgm.plt.close(300) else: prgm.plt.show()
def sec_ent(a, b, c): prgm.rep[6] = '' prgm.entier_val[0] = a prgm.entier_val[1] = b prgm.entier_val[2] = c delta = int(b**2 - 4 * a * c) alpha_num = int(-b) alpha_denom = int(2 * a) beta_num = int(-delta) beta_denom = int(4 * a) L1 = prgm.Label(prgm.root, text='\u0394=' + str(delta)) L1.grid(column=6, row=0, sticky='w') prgm.rep[2] = L1.cget('text') if alpha_num % alpha_denom == 0: alpha = alpha_num // alpha_denom L2 = prgm.Label(prgm.root, text='\u03B1=' + str(alpha)) L2.grid(column=6, row=1, sticky='w') prgm.rep[3] = L2.cget('text') else: div_alpha = 2 while div_alpha <= abs(alpha_num) and div_alpha <= abs(alpha_denom): if alpha_num % div_alpha == 0 and alpha_denom % div_alpha == 0: alpha_num = alpha_num // div_alpha alpha_denom = alpha_denom // div_alpha else: div_alpha = div_alpha + 1 if alpha_denom < 0: L2 = prgm.Label( prgm.root, text='\u03B1=(' + str(int(-alpha_num)) + ')/(' + str(int(-alpha_denom)) + ')' + egalite.main(alpha_num / alpha_denom) + str(round(alpha_num / alpha_denom, 10)).replace('.', ',')) L2.grid(column=6, row=1, sticky='w') prgm.rep[3] = L2.cget('text') prgm.rep[3] = L2.cget('text') else: L2 = prgm.Label( prgm.root, text='\u03B1=(' + str(int(alpha_num)) + ')/(' + str(int(alpha_denom)) + ')' + egalite.main(alpha_num / alpha_denom) + str(round(alpha_num / alpha_denom, 10)).replace('.', ',')) L2.grid(column=6, row=1, sticky='w') prgm.rep[3] = L2.cget('text') if beta_num % beta_denom == 0: beta = beta_num // beta_denom L3 = prgm.Label(prgm.root, text='\u03B2=' + str(beta)) L3.grid(column=6, row=2, sticky='w') prgm.rep[4] = L3.cget('text') else: div_beta = 2 while div_beta <= abs(beta_num) and div_beta <= abs(beta_denom): if beta_num % div_beta == 0 and beta_denom % div_beta == 0: beta_num = beta_num // div_beta beta_denom = beta_denom // div_beta else: div_beta = div_beta + 1 if beta_denom < 0: L3 = prgm.Label( prgm.root, text='\u03B2=(' + str(int(-beta_num)) + ')/(' + str(int(-beta_denom)) + ')' + egalite.main(beta_num / beta_denom) + str(round(beta_num / beta_denom, 10)).replace('.', ',')) L3.grid(column=6, row=2, sticky='w') prgm.rep[4] = L3.cget('text') else: L3 = prgm.Label( prgm.root, text='\u03B2=(' + str(int(beta_num)) + ')/(' + str(int(beta_denom)) + ')' + egalite.main(beta_num / beta_denom) + str(round(beta_num / beta_denom, 10)).replace('.', ',')) L3.grid(column=6, row=2, sticky='w') prgm.rep[4] = L3.cget('text') if delta < 0: entier_pas_racine.main(a, b, c, alpha_num, alpha_denom, beta_num, beta_denom, '', '') elif delta == 0: entier_x0.main(a, b, c, alpha_num, alpha_denom, beta_num, beta_denom, '', '') else: entier_x1.main(a, b, delta) entier_x2.main(a, b, delta) if preferences.afficher_graphs == 1: entier_deux_racines_plt.main(a, b, c, alpha_num, alpha_denom, beta_num, beta_denom, delta, '', '')
def main(a, b, delta): x2_num = -b + delta**0.5 x2_denom = 2 * a if delta**0.5 == int(delta**0.5): if x2_num % x2_denom == 0: x2 = x2_num // x2_denom L5 = prgm.Label(prgm.root, text='x\u2082=' + str(int(x2))) L5.grid(column=6, row=4, sticky='w') prgm.rep[6] = L5.cget('text') else: div_x2 = 2 while div_x2 <= abs(x2_num) and div_x2 <= abs(x2_denom): if x2_num % div_x2 == 0 and x2_denom % div_x2 == 0: x2_num = x2_num // div_x2 x2_denom = x2_denom // div_x2 else: div_x2 = div_x2 + 1 if x2_num < 0 and x2_denom < 0: L5 = prgm.Label( prgm.root, text='x\u2082=(' + str(int(-x2_num)) + ')/(' + str(int(-x2_denom)) + ')' + egalite.main(x2_num / x2_denom) + str(round(x2_num / x2_denom, 10)).replace('.', ',')) L5.grid(column=6, row=4, sticky='w') prgm.rep[6] = L5.cget('text') else: L5 = prgm.Label( prgm.root, text='x\u2082=(' + str(int(x2_num)) + ')/(' + str(int(x2_denom)) + ')' + egalite.main(x2_num / x2_denom) + str(round(x2_num / x2_denom, 10)).replace('.', ',')) L5.grid(column=6, row=4, sticky='w') prgm.rep[6] = L5.cget('text') else: x2_num_int = -b x2_num_rt = delta x2_denom_c = 2 * a x2_num_int_div = x2_num_int if x2_num_int_div == 0: x2_num_int_div = x2_denom_c div_x2 = 2 while div_x2 <= abs(x2_num_int_div) and div_x2 <= abs(x2_denom_c): if x2_num_int % div_x2 == 0 and x2_denom_c % div_x2 == 0 and x2_num_rt % div_x2**2 == 0: x2_num_int = x2_num_int // div_x2 x2_denom_c = x2_denom_c // div_x2 x2_num_rt = x2_num_rt // div_x2**2 x2_num_int_div = x2_num_int_div // div_x2 else: div_x2 = div_x2 + 1 if x2_num_int == 0: if abs(x2_denom_c) == 1: L5 = prgm.Label( prgm.root, text='x\u2082=-\u221A(' + str(x2_num_rt) + ')' + egalite.main(x2_num / x2_denom) + str(round(x2_num / x2_denom, 10)).replace('.', ',')) L5.grid(column=6, row=4, sticky='w') prgm.rep[6] = L5.cget('text') else: if x2_denom_c < 0: L5 = prgm.Label( prgm.root, text='x\u2082=-\u221A(' + str(x2_num_rt) + ')/(' + str(int(-x2_denom_c)) + ')' + egalite.main(x2_num / x2_denom) + str(round(x2_num / x2_denom, 10)).replace('.', ',')) L5.grid(column=6, row=4, sticky='w') prgm.rep[6] = L5.cget('text') else: L5 = prgm.Label( prgm.root, text='x\u2082=\u221A(' + str(x2_num_rt) + ')/(' + str(int(x2_denom_c)) + ')' + egalite.main(x2_num / x2_denom) + str(round(x2_num / x2_denom, 10)).replace('.', ',')) L5.grid(column=6, row=4, sticky='w') prgm.rep[6] = L5.cget('text') elif x2_num_int < 0 and x2_denom_c < 0: if abs(x2_denom_c) == 1: L5 = prgm.Label( prgm.root, text='x\u2082=' + str(int(-x2_num_int)) + '-\u221A(' + str(x2_num_rt) + ')' + egalite.main(x2_num / x2_denom) + str(round(x2_num / x2_denom, 10)).replace('.', ',')) L5.grid(column=6, row=4, sticky='w') prgm.rep[6] = L5.cget('text') else: L5 = prgm.Label( prgm.root, text='x\u2082=(' + str(int(-x2_num_int)) + '-\u221A(' + str(x2_num_rt) + '))/(' + str(int(-x2_denom_c)) + ')' + egalite.main(x2_num / x2_denom) + str(round(x2_num / x2_denom, 10)).replace('.', ',')) L5.grid(column=6, row=4, sticky='w') prgm.rep[6] = L5.cget('text') else: if abs(x2_denom_c) == 1: L5 = prgm.Label( prgm.root, text='x\u2082=' + str(int(x2_num_int)) + '+\u221A(' + str(x2_num_rt) + ')' + egalite.main(x2_num / x2_denom) + str(round(x2_num / x2_denom, 10)).replace('.', ',')) L5.grid(column=6, row=4, sticky='w') prgm.rep[6] = L5.cget('text') else: L5 = prgm.Label( prgm.root, text='x\u2082=(' + str(int(x2_num_int)) + '+\u221A(' + str(x2_num_rt) + '))/(' + str(int(x2_denom_c)) + ')' + egalite.main(x2_num / x2_denom) + str(round(x2_num / x2_denom, 10)).replace('.', ',')) L5.grid(column=6, row=4, sticky='w') prgm.rep[6] = L5.cget('text')
def main(a_num, a_denom, b_num, b_denom, delta_num, delta_denom): if delta_denom**0.5 == int(delta_denom**0.5): x2_num = int((-b_num * (delta_denom**0.5) * a_denom) + ((delta_num**0.5) * b_denom * a_denom)) x2_denom = int(2 * a_num * b_denom * (delta_denom**0.5)) if x2_num % x2_denom == 0: x2 = x2_num // x2_denom L4 = prgm.Label(prgm.root, text='x\u2082=' + str(x2)) L4.grid(column=6, row=4, sticky='w') prgm.rep[6] = L4.cget('text') else: div_x2 = 2 while div_x2 <= abs(x2_num) and div_x2 <= abs(x2_denom): if x2_num % div_x2 == 0 and x2_denom % div_x2 == 0: x2_num = x2_num // div_x2 x2_denom = x2_denom // div_x2 else: div_x2 = div_x2 + 1 if x2_num < 0 and x2_denom < 0: L4 = prgm.Label(prgm.root, text='x\u2082=(' + str(-x2_num) + ')/(' + str(-x2_denom) + ')=' + str(x2_num / x2_denom).replace('.', ',')) L4.grid(column=6, row=4, sticky='w') prgm.rep[6] = L4.cget('text') else: L4 = prgm.Label(prgm.root, text='x\u2082=(' + str(x2_num) + ')/(' + str(x2_denom) + ')=' + str(x2_num / x2_denom).replace('.', ',')) L4.grid(column=6, row=4, sticky='w') prgm.rep[6] = L4.cget('text') else: x2_num_int = int(b_denom * (delta_num**0.5) * a_denom) x2_num_rt_int = int(-b_num * a_denom) x2_num_rt = int(delta_denom) x2_denom_int = int(b_denom * 2 * a_num) x2_denom_rt = int(delta_denom) x2_num_rt_int_div = x2_num_rt_int x2_num_rt_div = x2_num_rt if x2_num_rt_int == 0: x2_num_rt_int_div = x2_denom_int x2_num_rt_div = x2_denom_int div_x2 = 2 while div_x2 <= abs(x2_num_int) and ( div_x2 <= abs(x2_denom_int) or div_x2**2 <= x2_denom_rt) and (div_x2 <= abs(x2_num_rt_int_div) or div_x2**2 <= x2_num_rt_div): if x2_num_int % div_x2 == 0 and ( x2_denom_int % div_x2 == 0 or x2_denom_rt % div_x2**2 == 0) and (x2_num_rt_int % div_x2 == 0 or x2_num_rt % div_x2**2 == 0): x2_num_int = x2_num_int // div_x2 if x2_denom_rt % div_x2**2 == 0: x2_denom_rt = x2_denom_rt // div_x2**2 else: x2_denom_int = x2_denom_int // div_x2 if x2_num_rt % div_x2**2 == 0: x2_num_rt = x2_num_rt // div_x2**2 else: x2_num_rt_int = x2_num_rt_int // div_x2 x2_num_rt_int_div = x2_num_rt_int_div // div_x2 x2_num_rt_div = x2_num_rt_div // div_x2 else: div_x2 = div_x2 + 1 x2_num_1 = '' x2_num_2 = '' x2_denom = '' if x2_num_rt_int == 0: x2_num_1 = '' elif x2_num_rt_int == 1: x2_num_1 = '\u221A(' + str(x2_num_rt) + ')' elif x2_num_rt_int == -1: x2_num_1 = '-\u221A(' + str(x2_num_rt) + ')' else: x2_num_1 = str(x2_num_rt_int) + '\u221A(' + str(x2_num_rt) + ')' if x2_num_int > 0: x2_num_2 = '+' + str(x2_num_int) else: x2_num_2 = str(x2_num_int) if x2_denom_int == 0: x2_denom = '' elif x2_denom_int == 1: x2_denom = '\u221A(' + str(x2_denom_rt) + ')' elif x2_denom_int == -1: x2_denom = '-\u221A(' + str(x2_denom_rt) + ')' else: x2_denom = str(x2_denom_int) + '\u221A(' + str(x2_denom_rt) + ')' L4 = prgm.Label( prgm.root, text='x\u2082=((' + x2_num_1 + x2_num_2 + ')/(' + x2_denom + '))=' + str( ((-b_num * a_denom * delta_denom**0.5) + (a_denom * b_denom * delta_num**0.5)) / (2 * a_num * b_denom * delta_denom**0.5)).replace('.', ',')) L4.grid(column=6, row=4, sticky='w') prgm.rep[6] = L4.cget('text')
def main(a_num, a_denom, b_num, b_denom, delta_num, delta_denom): if delta_denom**0.5 == int(delta_denom**0.5): x1_num = int((-b_num * (delta_denom**0.5) * a_denom) - ((delta_num**0.5) * b_denom * a_denom)) x1_denom = int(2 * a_num * b_denom * (delta_denom**0.5)) if x1_num % x1_denom == 0: x1 = x1_num // x1_denom L4 = prgm.Label(prgm.root, text='x\u2081=' + str(x1)) L4.grid(column=6, row=3, sticky='w') prgm.rep[5] = L4.cget('text') else: div_x1 = 2 while div_x1 <= abs(x1_num) and div_x1 <= abs(x1_denom): if x1_num % div_x1 == 0 and x1_denom % div_x1 == 0: x1_num = x1_num // div_x1 x1_denom = x1_denom // div_x1 else: div_x1 = div_x1 + 1 if x1_num < 0 and x1_denom < 0: L4 = prgm.Label(prgm.root, text='x\u2081=(' + str(-x1_num) + ')/(' + str(-x1_denom) + ')=' + str(x1_num / x1_denom).replace('.', ',')) L4.grid(column=6, row=3, sticky='w') prgm.rep[5] = L4.cget('text') else: L4 = prgm.Label(prgm.root, text='x\u2081=(' + str(x1_num) + ')/(' + str(x1_denom) + ')=' + str(x1_num / x1_denom).replace('.', ',')) L4.grid(column=6, row=3, sticky='w') prgm.rep[5] = L4.cget('text') else: x1_num_int = int(-b_denom * (delta_num**0.5) * a_denom) x1_num_rt_int = int(-b_num * a_denom) x1_num_rt = int(delta_denom) x1_denom_int = int(b_denom * 2 * a_num) x1_denom_rt = int(delta_denom) x1_num_rt_int_div = x1_num_rt_int x1_num_rt_div = x1_num_rt if x1_num_rt_int == 0: x1_num_rt_int_div = x1_denom_int x1_num_rt_div = x1_denom_int div_x1 = 2 while div_x1 <= abs(x1_num_int) and ( div_x1 <= abs(x1_denom_int) or div_x1**2 <= x1_denom_rt) and (div_x1 <= abs(x1_num_rt_int_div) or div_x1**2 <= x1_num_rt_div): if x1_num_int % div_x1 == 0 and ( x1_denom_int % div_x1 == 0 or x1_denom_rt % div_x1**2 == 0) and (x1_num_rt_int % div_x1 == 0 or x1_num_rt % div_x1**2 == 0): x1_num_int = x1_num_int // div_x1 if x1_denom_rt % div_x1**2 == 0: x1_denom_rt = x1_denom_rt // div_x1**2 else: x1_denom_int = x1_denom_int // div_x1 if x1_num_rt % div_x1**2 == 0: x1_num_rt = x1_num_rt // div_x1**2 else: x1_num_rt_int = x1_num_rt_int // div_x1 x1_num_rt_int_div = x1_num_rt_int_div // div_x1 x1_num_rt_div = x1_num_rt_div // div_x1 else: div_x1 = div_x1 + 1 x1_num_1 = '' x1_num_2 = '' x1_denom = '' if x1_num_rt_int == 0: x1_num_1 = '' elif x1_num_rt_int == 1: x1_num_1 = '\u221A(' + str(x1_num_rt) + ')' elif x1_num_rt_int == -1: x1_num_1 = '-\u221A(' + str(x1_num_rt) + ')' else: x1_num_1 = str(x1_num_rt_int) + '\u221A(' + str(x1_num_rt) + ')' if x1_num_int > 0: x1_num_2 = '+' + str(x1_num_int) else: x1_num_2 = str(x1_num_int) if x1_denom_int == 0: x1_denom = '' elif x1_denom_int == 1: x1_denom = '\u221A(' + str(x1_denom_rt) + ')' elif x1_denom_int == -1: x1_denom = '-\u221A(' + str(x1_denom_rt) + ')' else: x1_denom = str(x1_denom_int) + '\u221A(' + str(x1_denom_rt) + ')' L4 = prgm.Label(prgm.root, text='x\u2081=((' + x1_num_1 + x1_num_2 + ')/(' + x1_denom + '))' + egalite.main( ((-b_num * a_denom * delta_denom**0.5) - (a_denom * b_denom * delta_num**0.5)) / (2 * a_num * b_denom * delta_denom**0.5)) + str( round(((-b_num * a_denom * delta_denom**0.5) - (a_denom * b_denom * delta_num**0.5)) / (2 * a_num * b_denom * delta_denom**0.5), 10)).replace('.', ',')) L4.grid(column=6, row=3, sticky='w') prgm.rep[5] = L4.cget('text')