CALCULATRICE SIMPLICISTE SOUS TKINTER

elnabo Messages postés 28 Date d'inscription vendredi 7 août 2009 Statut Membre Dernière intervention 2 mai 2016 - 29 août 2009 à 12:12
elnabo Messages postés 28 Date d'inscription vendredi 7 août 2009 Statut Membre Dernière intervention 2 mai 2016 - 31 août 2009 à 10:11
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/50496-calculatrice-simpliciste-sous-tkinter

elnabo Messages postés 28 Date d'inscription vendredi 7 août 2009 Statut Membre Dernière intervention 2 mai 2016
31 août 2009 à 10:11
Oué, j'susi désolé pour le flood , je sais même pas pourquoi il est arrivé la, j'ai écrit ce message en étant claqué, j'ai cliqué plusieurs fois avant de me rappeler que y'avait la charte. Comme je savais pas comment faire pour supprimer bah la j'ai signaler à un admin..

Sinon, bah ce que je voulais laisser sous-entendre avec l'évolution , c'est que pour moi, il vaut mieux que je prenne mon temps pour tout bien apprendre.

Et pour le forum, comme je ne suis qu'un débutant en python, pour moi si le programme marche c'est déjà bien ;) . A un moment j'allais posté sur le forum pour demander de l'aide, et puis entre temps une idée m'est apparue et hop après j'avais un programme opérationnel donc voila
xeolin Messages postés 336 Date d'inscription samedi 26 novembre 2005 Statut Membre Dernière intervention 8 novembre 2011 2
31 août 2009 à 00:55
Qui ? moi Anti-bill? noon.. J'en voudrait jamais à une personne qui vend des portes... (double blague ! backdoor+Gates)

Comme le dit très bien Robert A. Hayden :

Windows has set back the computing industry by at least 10 years. Bill Gates should be drawn, quartered, hung, shot, poisoned, disembowelled, and then REALLY hurt.

ça vient du cœur. Mais bon, j'adore le film Kill Bill (gate).

en tout cas je doit dire que le nouveau microsoft sans Mr Gate, arrive à tenir la position de "détestable" au lieu du classique "je doit poser un bombe dans les locaux de microsoft pour le bien de l'humanitée"

Bon j'arrête de parler de lui et je vais parler, hum, ha oui du code source :

"""L'évolution c'est bien mais ça prend tout son temps, l'être humain à pris plusieurs millions d'années pour évoluer et continuera encore à évoluer. Si l'on veut que l'évolution se passe plus vite le résultat sera baclé et donc très probablement raté."""
Xeolin tue Elnabo (et Bill Gates par la même occasion)

ha ok... bon... Ding, arrête de balancer des idées comme ca c'est ridicule c'est un non sens absolut ! l'évolution humaine n'a rien à voir de celui de l'individuel. Sache que tout les ans ont évolue (point de vue technologique) que depuis le début de l'humanité à 1900. On es en phase d'évolution exponentielle.

"J'avoue, mea culpa , que j'ai pas spécialement était poli :'( , mais faut pas m'en vouloir
quand on apprend que ce qui nous à pris plusieurs heures de réfléxions peut en fait être fait en 10mn on est pas spécialement content"

Ton problème c'est que tes plusieurs heures de réflexion tu aurait pus les résumés à 30minutes+5 questions sur le forum.

Regarde ma source sur le RSA, comme toi je suis partit à 0. et au fur et à mesure j'ai demandé de l'aide et la mon code est bon, il tient la route (juste quelque petits détails à régler). Tu es sur un site d'entraide, ca nous dérangera de t'aider, car a ton tour tu pouras faire de même avec des plus débutants.

Finalement tu as (surement) apprit une leçon importante et rapidement : "quand faut-il demander de l'aide". Et ça quelque heures ca vaut rien face à une telle leçon.

Nate
aera group Messages postés 382 Date d'inscription mercredi 23 août 2006 Statut Membre Dernière intervention 8 novembre 2010 18
31 août 2009 à 00:15
Ah encore un anti Bill :p Le pauvre il le mérite pas(bon ok un peu mais ...)
Je te dirais tous ca demain bien que je préfère la nuit au jour, je suis obligé de me lever tôt ... et donc de ne pas vivre la nuit (maudite fatigue ...). Mais bon revenons un peu au sujet du site et plus principalement à Elnabo (Ara anti flood : ON)

L'apprentissage de Lambda ne se fait pas dans le tuto de G.S. qui est loin d'être complet ... Il faut se documenté ailleurs et toute les occasions sont bonne, Xeolin viens de t'en donner une.
Lambda ou Try/Except sont des éléments de base de Python qu'il faut savoir maitrisé tôt à mon avis pour ne pas prendre de mauvaises habitudes ... Passe plus de temps sur un programme complet que sur un programme certes rapide sans âme ...

PS : Je comprends ton énervement légitime,ta réaction est mesuré et tempéré ...
xeolin Messages postés 336 Date d'inscription samedi 26 novembre 2005 Statut Membre Dernière intervention 8 novembre 2011 2
31 août 2009 à 00:08
... enleve le flood wtf
xeolin Messages postés 336 Date d'inscription samedi 26 novembre 2005 Statut Membre Dernière intervention 8 novembre 2011 2
30 août 2009 à 23:57
et oui je suis né un trois juillet :p
tu as pas une adresse skype ou un irc ? (je boycott les produit de microsoft mais si c'est pour toi, je songerais à utiliser pidgin pour me connecter sur msn..)

Sinon oui tu es rapide et ca en viens du flood de notre part :(

nate.
elnabo Messages postés 28 Date d'inscription vendredi 7 août 2009 Statut Membre Dernière intervention 2 mai 2016
30 août 2009 à 23:55
Pour répondre à Xeolin, le fait et que d'appliqué directement la méthode de la calculatrice lambda est vraiment plus simple, je pense avoir compris l'idée et le fonctionnement général.

Seulement, selon moi , pour apprendre il ne faut pas passez directement par la simplicité mais plutôt vouloir commencer par le plus compliqué , voire même le moins évident. Donc en gros si j'utilise directement la calculatrice lambda, bah j'apprendrais seulement un peu le lambda est beaucoup moins sur les bases, qui sont , toujours selon moi , beaucoup plus utile.

L'évolution c'est bien mais ça prend tout son temps, l'être humain à pris plusieurs millions d'années pour évoluer et continuera encore à évoluer. Si l'on veut que l'évolution se passe plus vite le résultat sera baclé et donc très probablement raté.

Enfin au moins maintenant , j'ai un départ et une estimation du nombre de ligne pour l'arrivée.

J'avoue, mea culpa , que j'ai pas spécialement était poli :'( , mais faut pas m'en vouloir
quand on apprend que ce qui nous à pris plusieurs heures de réfléxions peut en fait être fait en 10mn on est pas spécialement content

PS: elle m'énerve la charte de bonne conduite
aera group Messages postés 382 Date d'inscription mercredi 23 août 2006 Statut Membre Dernière intervention 8 novembre 2010 18
30 août 2009 à 23:26
J'aime bien le optionnel (remarque tu ma rapidité de réaction ?? Je suis entraint de rep également sur l'autre source). J'aime aussi l'ironie (mon péché mignon en fait, c'est mieux que la franchise non ?? :p)
xeolin Messages postés 336 Date d'inscription samedi 26 novembre 2005 Statut Membre Dernière intervention 8 novembre 2011 2
30 août 2009 à 23:23
he oui, cette satisfaction provient d'une chose importante dans la vie qui s'appèle "évoluer". Et puis mon message je l'avais écrit 7 heures plus tôt...

l'idée est : tu comprends, tu apprends, tu évolues, tu appliques, et tu dis merci(optionnel).

Tu n'es pas le premier à passer par la ni le dernier.
elnabo Messages postés 28 Date d'inscription vendredi 7 août 2009 Statut Membre Dernière intervention 2 mai 2016
30 août 2009 à 22:32
Non, non pas du tout , je n'ai absolument pas ignoré tes commentaires, seulement vu le temps que j'ai pris pour écrire mon message +/- 1/2h (car je regardais d'autres choses dont comment améliorer ma code.

Ce que je veux ce n'est pas arriver à un résultat en me servant d'un méthode que l'ont me donne mais plutôt que j'y arrive tout d'abord juste que cela marche puis par la suite en fonction de mes apprentissages de l'améliorer au fur et à mesure.

Juste ce servir d'un code ou je n'ai plus qu'à rentré le nom des formules et leur application.
Franchement aurais-tu la moindre satisfaction d'écrire un petit programme dont 90% est une base que l'on pourrait qualifier de copier/coller
xeolin Messages postés 336 Date d'inscription samedi 26 novembre 2005 Statut Membre Dernière intervention 8 novembre 2011 2
30 août 2009 à 21:30
Tu ignores mes commentaires ??

impressionnant.
Je te donne le bras et tu prends la main...

Je te donne un code entier avec exemple et explication et tu fais l'erreur que j'ai expliqué comment ne pas faire, et tu me demandes pourquoi ca arrive ?

impressionnant.

Je suis déconcerté...

lit ca :
http://www.pythonfrance.com/codes/CALCULATRICE-INTRODUCTION-LAMBDA_50499.aspx

... xeolin
elnabo Messages postés 28 Date d'inscription vendredi 7 août 2009 Statut Membre Dernière intervention 2 mai 2016
30 août 2009 à 20:04
Edit sinon , pour l'instant je n'ai mis que + - * / mais je me doute qu'il est facile d'ajouter une mass de formule, donc je préférais d'abord me contenter du minimum
elnabo Messages postés 28 Date d'inscription vendredi 7 août 2009 Statut Membre Dernière intervention 2 mai 2016
30 août 2009 à 20:01
Et bien en fait pour l'instant, j'apprend Python avec l'excellent tutoriel de Gérard Swinnen, lentement , très lentement, la j'en suis seulement au chapitre sur Tkinter, et je n'utilise pas d'autre tutoriel , j'avais donc fait et voulu faire ça seulement en me servant de ce que je savais à ce moment , donc ni chain , ni try, ni for.

Par contre je viens de penser à faire une fonction 'nombre(x)' qui remplacerait chaque répétitions dans les def xn(), seulement , j'ai l'erreur "TypeError: int object argument after ** must be a mapping, not int" que je ne comprends pas dès que je veux mettre une virgule.

Sinon chez moi si j'entre du texte elle le considère comme si rien n'était rentré
aera group Messages postés 382 Date d'inscription mercredi 23 août 2006 Statut Membre Dernière intervention 8 novembre 2010 18
30 août 2009 à 17:35
"Il a les mots moi j'ai les exemples" Exacte, on ait dure je sais, mais juste je pense :p

Et bien le proxy m'a presque achevé, Vista s'en est charger. Je suis donc passer sous Seven (vu que ca pouvais pas être pire que Vista - Non ce n'est pas possible de faire pire que Vista, même les version de Me qui ne démarraient pas sont mieux que Vista). Et bien, je ne suis pas déçu !!! Il faut dire la vérité, si Seven tient ses promesses tel que l'on peut le voir dans la RC je pense que ce sera une réussite (commercial ?) technologique.

Les programmes que tu m'as présenté je les avais déja testé, ce n'est pas ce que je cherche, je m'accorde une pose de 1 ou 2 mois pour mettre à plat toute les idées, en attendant, j'ai ma seconde année de Prépa à géré et il faut que je termine ce projet (cf commentaire de fin) : http://www.pythonfrance.com/codes/CARNET-ADRESSE_42877.aspx

Ciao Xeolin au plaisir de travailler avec toi la fois prochaine ...
elnabo j'attends de voir une évolution ...
xeolin Messages postés 336 Date d'inscription samedi 26 novembre 2005 Statut Membre Dernière intervention 8 novembre 2011 2
30 août 2009 à 17:09
totalement d'accort avec area. Il a les mots moi j'ai les exemples :p

Sinon area, comment va le proxy, ma source marche-t-elle ? Ou tu es finalement devenue fou puis t'es tiré une balle dans la tête ?
Possible...

Ou alors pire, tu es devenue encore plus fous et tu as dit que Bill Gates avait fait un bon OS... Impossible, si tu as besoin d'aide dit le, je serai toujours là pour pythonner avec toi :p
aera group Messages postés 382 Date d'inscription mercredi 23 août 2006 Statut Membre Dernière intervention 8 novembre 2010 18
30 août 2009 à 15:10
Comme nous l'a montré Xeolin Lambda est plus qu'une nécessitée c'est un outil important dans la programmation sous Python, surtout dans une volonté d'automatisation/compression pour la création d'interface Graphique.

De plus et c'est encore plus important voir grave , tu ne veuilles pas à "surveiller" les entrées de l'utilisateur.
Étant très mauvais en Maths j'ai pensé que l'on pouvais diviser par 0 et là a mon grand étonnement Python ma généré une erreur. De même quand j'ai tapé "sqdfsqfqsfqsdf" il semble que ca ait fait bugé ton programme.

Pour cette erreur ton programme vaut à peine 4, il serait profitable de trouver une simple solution (j'ai entendu parler d'un truc ....... ah comment ça s'appelle ?? À oui ca me revient ....... try voila !!! try/except mais c'est dur à utiliser euh attend ca fait un truc comme ca :

try:
blabla
blabla
blabla
except:
blabla en ca d'erreur)
Et cela on ajoute le fait qu'il en existe environ 15 versions sur ce site plus une dans celle du livre de G.S. on peut se demander où est l'utilité (Ca me rappelle une histoire de vélo avec PythonLin :p). Ton défit serais peut être de "grandir un peu" (ce n'est pas de moi - comprend devenir plus expert en Python) et de nous faire une calculette digne de ce nom ...

Pour moi ça vaut 3, la calculette de Windows vaut 20/10 et celle de G.S. vaut 5. À toi de trouver le juste milieu pour avoir 10 :p
Bon courage mais je doute que les classes puisse résoudre tous ses problèmes, penses plutôt ergonomie et contrôle ca t'aidera.
xeolin Messages postés 336 Date d'inscription samedi 26 novembre 2005 Statut Membre Dernière intervention 8 novembre 2011 2
30 août 2009 à 13:39
jette un coup d'oeuil : http://www.pythonfrance.com/codes/CALCULATRICE-INTRODUCTION-LAMBDA_50499.aspx

Et sache que tu n'es pas le premier à faire ce genre d'erreur.
xeolin Messages postés 336 Date d'inscription samedi 26 novembre 2005 Statut Membre Dernière intervention 8 novembre 2011 2
30 août 2009 à 13:19
ont peut même faire des puissances ou des racines carrés, en utilisant deux fois **, possible d'ajouter des parenthèses.
xeolin Messages postés 336 Date d'inscription samedi 26 novembre 2005 Statut Membre Dernière intervention 8 novembre 2011 2
30 août 2009 à 13:18
ouai....

le même script peut tenir en 15 lignes.

fait une liste de bouton, une boucle qui crée les boutons, utilise lambda et tu n'as besoin que d'une fonction...
fait en 2 minutes :

from Tkinter import*
chain=""
def func(b):
global chain
if b=="C":chain="0"
elif b=="=":chain=eval(chain)
else : chain+=b
z.set(chain)

fen = Tk()
fen.title('Calculatrice')
a=""
i=1
j=1
for a in ["0","1","2","3","4","5","6","7","8","9","+","-","*","/",".","=","C"]:
Button(fen,text = a, command=lambda b=a:func(b)).grid(column=i,row=j)
j+=1
if j==5:j,i=1,i+1
z = StringVar()
entree=Entry(fen,textvariable=z)
entree.grid(row=0)
z.set(chain)
Button(fen,text='Quitter',command = fen.quit).grid(row=1)
fen.mainloop()
elnabo Messages postés 28 Date d'inscription vendredi 7 août 2009 Statut Membre Dernière intervention 2 mai 2016
29 août 2009 à 12:12
Je n'ai pas mis spécialement de commentaire car pour moi chaque chose me parait très clair sans avoir besoin d'être spécialement explicité
Rejoignez-nous