xeolin
Messages postés336Date d'inscriptionsamedi 26 novembre 2005StatutMembreDernière intervention 8 novembre 2011
-
24 juin 2008 à 02:21
aera group
Messages postés382Date d'inscriptionmercredi 23 août 2006StatutMembreDernière intervention 8 novembre 2010
-
11 juil. 2008 à 11:20
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
aera group
Messages postés382Date d'inscriptionmercredi 23 août 2006StatutMembreDernière intervention 8 novembre 201018 11 juil. 2008 à 11:20
Oui ! j'ai ré-installer Python 2.4, je suis plus à l'aise avec, de même j'ai ré-installer WxPython (nouvelle version, avec nouveau Widgets et nouveaux bugs :( ). Il me reste encore à faire quelques test, et essayer la compilations (qui ne fonctionnera pas à mon avis, vive Windows Vista). De plus, Vista est une belle merde en sécurité, toutes les actions sont filté, surveiller et une confirmation de l'utilisateur est souvent necessaire ! En gros, il va me faloir du temps pour maitriser la bette, et heureusement, il me reste un PC avec XP (mais je n'y est pas toujours accé). Cela dis, ta source ne devré pas poser de problème à Vista.
xeolin
Messages postés336Date d'inscriptionsamedi 26 novembre 2005StatutMembreDernière intervention 8 novembre 20112 11 juil. 2008 à 04:02
Ha Area, alors tu as installer python sur ton vista 64-bits ?
aera group
Messages postés382Date d'inscriptionmercredi 23 août 2006StatutMembreDernière intervention 8 novembre 201018 10 juil. 2008 à 14:04
Avec des Classes, il y a moyen de faire bien mieux ! Je me laisse une semaine pour ESSAYER (je suis pas sur de réusir) de créé quelque chose de plus ... optimisé !
amaury74
Messages postés24Date d'inscriptionvendredi 10 août 2007StatutMembreDernière intervention10 mai 2009 10 juil. 2008 à 11:25
Mon niveau en programmation est assez faible; je viens de découvrir les classes...
Quand à optimiser mon programme, j'y pense mais sa structure est tellement bancale que quand je tente une modification plus rien ne vas!!!
xeolin
Messages postés336Date d'inscriptionsamedi 26 novembre 2005StatutMembreDernière intervention 8 novembre 20112 5 juil. 2008 à 18:52
bravo 10/10 !
Tres bon boulot, maintrnant si tu es un fou des math, pourquoi ne pas tout optimiser ? (je ne conais pas ton niveau en programmation, mais dit toi que cèst dans ce genre dàlgorithm que lòn fait le plus de progres en optimisation.
Sinon brave encore pour avoir enlever cette limite, :)
Xeolin, En vacance a Montreal
aera group
Messages postés382Date d'inscriptionmercredi 23 août 2006StatutMembreDernière intervention 8 novembre 201018 27 juin 2008 à 10:07
Et ba voila, c'est du beau boulo, tu vois quand tu veux ....
J'aurrais mis 10/10 si tu avais sortit ce code des la première fois, je te met donc 9/10
Bravo
amaury74
Messages postés24Date d'inscriptionvendredi 10 août 2007StatutMembreDernière intervention10 mai 2009 26 juin 2008 à 22:32
Et voila, plus de limitation à 6 fonction.
On peut en plus tracer la dérivée de n'importe quelle fonction sans avoir besoin de dériver celle-ci "à la main".
J'ai utiliser pour ce faire les approximations affines des tangentes à la courbe de la fonction (pas obligatoirement tracée) pour déduire leurs coéfficients directeur.
amaury74
Messages postés24Date d'inscriptionvendredi 10 août 2007StatutMembreDernière intervention10 mai 2009 25 juin 2008 à 14:14
merci, j'avais pas vu.
aera group
Messages postés382Date d'inscriptionmercredi 23 août 2006StatutMembreDernière intervention 8 novembre 201018 25 juin 2008 à 09:53
Normal, ton message d'erreur est pris dans la boucle ! Comme toutes les autres exceptions, elle est appeler 700 fois ! Met un break
Cependant, le fenetre d'erreur reste apres avoir cliqué sur Ok...
aera group
Messages postés382Date d'inscriptionmercredi 23 août 2006StatutMembreDernière intervention 8 novembre 201018 24 juin 2008 à 14:54
"Pour information, la fonction log(x) est définie par: log(x,base)=ln(x)/ln(base)
La fonction ln(x) est donc log(x,exp(1))"
Merci beaucoup pour ces informations !
amaury74
Messages postés24Date d'inscriptionvendredi 10 août 2007StatutMembreDernière intervention10 mai 2009 24 juin 2008 à 12:52
Merci pour vos avis. Vous avez entièrement raison, mon code est en cour de développement. Je l'ai poster pour le soumettre à la critique d'esprits différents du mien et, sans doute plus calés que moi en programmation. J'envisage de réduire mon code actuel, d'y ajouter d'autres fonction, comme dériver, intégrer, calculs par récurence (suites de nombres)...
Pour information, la fonction log(x) est définie par: log(x,base)=ln(x)/ln(base)
La fonction ln(x) est donc log(x,exp(1))
C'est des maths de Term S...
aera group
Messages postés382Date d'inscriptionmercredi 23 août 2006StatutMembreDernière intervention 8 novembre 201018 24 juin 2008 à 09:42
Bonjour,
Bon, le code est assez claire, est fonctionne correctement quand l'utilisateur le fait fonctionner correctement ! MAIS ....... je pense que lorsque l'on est à sont 4ème programme et que l'on commence à s'y connaitre en Python, on peut commencer à obtimiser ses sources ! En claire, il faut commencer à mettre des sources plus "professionel" : tu as essayer de gérer les erreur avec des try/except, mais tu ne met aucun message d'erreur ! De même, j'ai essayé de tracer la fonction logarithme Néplérien Ln(x) ! Or la fonction Ln(x) ne semble pas exister sous le module math (ou elle ne s'appel pas ainsi). Mais je ne fait aucune erreur de syntaxe, je demande juste une fonction qui n'existe pas ! Ton "except SyntaxError" est K.O. par mon erreur et j'arrive a un message d'erreur qui n'aurais pas du apparaitre si tu avais obtimisé ton code !
De même que Xeolin, je me refuse de te noter tant que tu n'apportes pas d'amélioration, tu peux faire bien mieu !
Pense à bien utiliser tout Wigets les tel que Listbox
Dans ma grande bonté, je te donne un coup de pouce qui peut t'aider à faire ce que Xeolin te demande :
from Tkinter import *
import tkMessageBox
def Dialogue():
dialogue = Toplevel(fen)
dialogue.resizable(0,0)
dialogue.transient(fen) # Pas icone dans la barre de tâche
dialogue.grab_set() # Pas accès à la fenetre parent
dialogue.wm_geometry(newGeometry='200x20+120+180')
b = Button(dialogue,text='Quitter la boite de dialogue',command=dialogue.destroy)
b.pack()
def Dialogue_Tk():
if tkMessageBox.askyesno(title="Question",message="Ca va ?"):
tkMessageBox.showinfo(title="Info",message="ok")
else:
tkMessageBox.showwarning(title="Attention",message="Ca va mal")
tkMessageBox.showerror(title="Erreur",message="Rien ne va plus")
11 juil. 2008 à 11:20
11 juil. 2008 à 04:02
10 juil. 2008 à 14:04
10 juil. 2008 à 11:25
Quand à optimiser mon programme, j'y pense mais sa structure est tellement bancale que quand je tente une modification plus rien ne vas!!!
5 juil. 2008 à 18:52
Tres bon boulot, maintrnant si tu es un fou des math, pourquoi ne pas tout optimiser ? (je ne conais pas ton niveau en programmation, mais dit toi que cèst dans ce genre dàlgorithm que lòn fait le plus de progres en optimisation.
Sinon brave encore pour avoir enlever cette limite, :)
Xeolin, En vacance a Montreal
27 juin 2008 à 10:07
J'aurrais mis 10/10 si tu avais sortit ce code des la première fois, je te met donc 9/10
Bravo
26 juin 2008 à 22:32
On peut en plus tracer la dérivée de n'importe quelle fonction sans avoir besoin de dériver celle-ci "à la main".
J'ai utiliser pour ce faire les approximations affines des tangentes à la courbe de la fonction (pas obligatoirement tracée) pour déduire leurs coéfficients directeur.
25 juin 2008 à 14:14
25 juin 2008 à 09:53
except NameError:
tkMessageBox.showerror(title="Erreur",message="""Fonction " """ + str(fonction) + """" inconnue""")
break
24 juin 2008 à 22:24
def onCalc(fonction,couleur,xo,yo,uy,uxx,xmin):
valeurs=[]
a=0
while a<701:
x=float(xmin+(a*uxx))
try:
y=-eval (fonction)
valeurs.append([x,y])
a=a+1
except ValueError:
y=0
valeurs.append([x,y])
a=a+1
except OverflowError:
y=0
valeurs.append([x,y])
a=a+1
except NameError:
tkMessageBox.showerror(title="Erreur",message="""Fonction " """ + str(fonction) + """" inconnue""")
Cependant, le fenetre d'erreur reste apres avoir cliqué sur Ok...
24 juin 2008 à 14:54
La fonction ln(x) est donc log(x,exp(1))"
Merci beaucoup pour ces informations !
24 juin 2008 à 12:52
Pour information, la fonction log(x) est définie par: log(x,base)=ln(x)/ln(base)
La fonction ln(x) est donc log(x,exp(1))
C'est des maths de Term S...
24 juin 2008 à 09:42
Bon, le code est assez claire, est fonctionne correctement quand l'utilisateur le fait fonctionner correctement ! MAIS ....... je pense que lorsque l'on est à sont 4ème programme et que l'on commence à s'y connaitre en Python, on peut commencer à obtimiser ses sources ! En claire, il faut commencer à mettre des sources plus "professionel" : tu as essayer de gérer les erreur avec des try/except, mais tu ne met aucun message d'erreur ! De même, j'ai essayé de tracer la fonction logarithme Néplérien Ln(x) ! Or la fonction Ln(x) ne semble pas exister sous le module math (ou elle ne s'appel pas ainsi). Mais je ne fait aucune erreur de syntaxe, je demande juste une fonction qui n'existe pas ! Ton "except SyntaxError" est K.O. par mon erreur et j'arrive a un message d'erreur qui n'aurais pas du apparaitre si tu avais obtimisé ton code !
De même que Xeolin, je me refuse de te noter tant que tu n'apportes pas d'amélioration, tu peux faire bien mieu !
Pense à bien utiliser tout Wigets les tel que Listbox
Dans ma grande bonté, je te donne un coup de pouce qui peut t'aider à faire ce que Xeolin te demande :
from Tkinter import *
import tkMessageBox
def Dialogue():
dialogue = Toplevel(fen)
dialogue.resizable(0,0)
dialogue.transient(fen) # Pas icone dans la barre de tâche
dialogue.grab_set() # Pas accès à la fenetre parent
dialogue.wm_geometry(newGeometry='200x20+120+180')
b = Button(dialogue,text='Quitter la boite de dialogue',command=dialogue.destroy)
b.pack()
def Dialogue_Tk():
if tkMessageBox.askyesno(title="Question",message="Ca va ?"):
tkMessageBox.showinfo(title="Info",message="ok")
else:
tkMessageBox.showwarning(title="Attention",message="Ca va mal")
tkMessageBox.showerror(title="Erreur",message="Rien ne va plus")
fen = Tk()
b1 = Button(fen,text='Test 1',command=Dialogue)
b2 = Button(fen,text='Test 2',command=Dialogue_Tk)
b3 = Button(fen,text='Quitter',command=fen.destroy)
b1.pack()
b2.pack()
b3.pack()
fen.mainloop()
Bon courrage, ciao !
______
Aéra
24 juin 2008 à 02:21
Tu devrais vraiment réécrire cette partie de ton programme, Pourquoi voudrais-tu limiter qhand tu paux enlever cette limite ?
Je ne notterais pas, ton script n'est pas terminé.