begin process at 2010 07 29 15:54:34
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Math & Algorithmes

 > LE CALCULATOR DE RAYGOLD VERSION 3.1

LE CALCULATOR DE RAYGOLD VERSION 3.1


 Information sur la source

Note :
1,5 / 10 - par 2 personnes
1,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Math & Algorithmes Classé sous :calculatrice, calcul, math, calculette, graphique Niveau :Débutant Date de création :29/01/2010 Date de mise à jour :13/06/2010 18:31:16 Vu / téléchargé :1 888 / 40

Auteur : raygold

Ecrire un message privé
Commentaire sur cette source (16)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
Voici une petite calculatrice graphique tous simple.

Elle permet de faire des additions, des soustractions, des multiplications et des divisions


Pour toute suggestion de fonction ou autre, envoyez moi un mp.

Source

  • from __future__ import division
  • from math import *
  • import Tkinter
  • def resultat_fonction():
  • try:
  • texte = eval(saisir.get())
  • except:
  • texte = "ERREUR"
  • resultat.configure(text=texte)
  • racine=Tkinter.Tk()
  • texte=Tkinter.Label(racine, text='Cliquer et saisir:', width=20, height=3, fg="black")
  • texte.pack()
  • saisir=Tkinter.StringVar() # prevoir la variable pour recevoir le texte saisi
  • saisie=Tkinter.Entry(textvariable=saisir, width=30)
  • saisie.pack()
  • bouton=Tkinter.Button(racine, text="Egale", command=resultat_fonction)
  • bouton.pack()
  • resultat=Tkinter.Label(racine, text="", width=20, height=3, fg="black")
  • resultat.pack()
  • racine.mainloop()
from __future__ import division
from math import *
import Tkinter

def resultat_fonction():
        try:
                texte = eval(saisir.get())
        except:
                texte = "ERREUR"
        resultat.configure(text=texte) 

racine=Tkinter.Tk()
texte=Tkinter.Label(racine, text='Cliquer et saisir:', width=20, height=3, fg="black")
texte.pack()
saisir=Tkinter.StringVar() # prevoir la variable pour recevoir le texte saisi
saisie=Tkinter.Entry(textvariable=saisir, width=30)
saisie.pack()
bouton=Tkinter.Button(racine, text="Egale", command=resultat_fonction)
bouton.pack()
resultat=Tkinter.Label(racine, text="", width=20, height=3, fg="black")
resultat.pack()
racine.mainloop()

 Conclusion

Un petite calculette toutes simple qui permet de comprendre quelque fonction. Vous pouvez l'utiliser pour des cours ou des exercices

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

31 janvier 2010 11:15:57 :
31/01/2010 -Ajout de la racine carre et du pourcentage. -Correction d'un bug. -Utilisation des nombres a virgule.
04 février 2010 19:34:23 :
Correction du bug du pourcentage.
04 février 2010 19:36:34 :
bug de mise en ligne corrigé
12 février 2010 20:30:44 :
Dans la version 2 vous écrivez le calcule sur 1 seule ligne
16 avril 2010 22:20:18 :
Passage en mode graphique.
13 juin 2010 18:31:16 :
Correction de bug

 Sources de la même categorie

CALCUL LIST DE NOMBRES PREMIERS par White541
TROUVER TOUT LES QUADRILATÉRES POSSIBLES AVEC N POINTS ALEAT... par Buenol
Source avec Zip GÉNÉRATION D'UN LABYRINTHE AVEC RECHERCHE DU CHEMIN LE PLUS ... par mehdicherti
Source avec Zip Source avec une capture DIVISIONS AVEC PRÉCISION RÉGLABLE par Clempython
Source avec Zip ALGORITHMIME GENETIQUE : PROBLEME DU VOYAGEUR DE COMMERCE par mehdicherti

 Sources en rapport avec celle ci

CALCULATRICE (AIDE SUR LES FONCTIONS EN PYTHON) par matad0r
Source avec Zip CALCULATRICE SIMPLICISTE SOUS TKINTER par elnabo
MA PREMIERE CALCULATRICE EN PYTHON!! par djisse95
Source avec Zip Source avec une capture GRAPHEUR DE FONCTIONS MATHÉMATIQUES par amaury74
Source avec Zip BRAIN-TRAINING par cesar1993

Commentaires et avis

Commentaire de xeolin le 13/02/2010 22:40:58 2/10

wow... lance la commande:

help('eval')

je résume ton code:

print eval(raw_input())

voilà!

Commentaire de raygold le 21/02/2010 17:31:02

Enfin j'ai mit quelque fonction supplémentaire. Mais c'est vrai que c'est plus pratique. Mais bon cela faisait qu'une semaine que j'apprenais le python donc j'étais assez fier .

Commentaire de xeolin le 21/02/2010 17:41:55

Moi aussi, je viens d'apprendre l'assembleur :

Commentaire de xeolin le 21/02/2010 17:43:06

org 100h
mov ax,900h
mov dx,msg
int 21h
mov ax,4C00h
int 21h

msg :
db "helloworld$"


je viens de faire mon premier hello world.
Je suis super content. Es-ce que je vais le poster sur asmfr?

Commentaire de Phoenix35 le 23/02/2010 20:53:04

Vu ce que tu fais avec math

Remplacer "import math" par "from math import sqrt"
Et "math.sqrt(chiffre1)" par "sqrt(chiffre1)"

Commentaire de xeolin le 23/02/2010 21:11:22

en lisant bien ton code je trouve :

a = calcule [0]
b = calcule [1]
c = calcule [2]
signe = calcule [3]
d = calcule [4]
e = calcule [5]
f = calcule [6]
chiffre1 = a + b + c
chiffre2 = d + e + f

très original....  
chiffre1=calcule [0:3]
signe = calcule [3]
chiffre2=calcule [4:6]

et on dit CALCUL et pas calcule...

ligne 26 et 29 inutiles...

Explique moi, tu as apprit où à coder? (et à écrire aussi)
parce que là n'importe quel imbécile qui aurait lu n'importe quel tutorial, aurait fait mille fois mieux que l'abomination que tu nous a écrite!

et le coup du

else :
   pass

tu as fait vraiment très fort là !

et franchement... C'était vraiment indispensable de nous infliger ça ?

Commentaire de aera group le 16/04/2010 11:45:45

Bonjour à toutes et a tous !

Je suis enfin de retour sur CS. Et je vais commencer par m'intéresser à ce "code" (?). Et pour fêter ça j'ai décidé d'utiliser une nouvelle technique de test :

Étape 1 : Copier ou télécharger le code sans le regarder et l'exécuté.
Étape 2 : Utiliser le code comme le ferait un utilisateur classique, et comprendre le fonctionnement (sans regarder le code)
Étape 3 : Toujours sans voir le code tenté de dénicher des bugs
Étape 4 : Regarder le code et comprendre les mécanismes et erreurs s'il y en a.
Étape 5 : Noter

Si je résume comment ça c'est passé pour ton code c'est très simple:

Étape 1 : Ok j'ai maitrisé
Étape 2 : Eh bien là ça cloche ... Rien ne marche ou presque il m'a fallu 6 essayes pour que un simple calcul fonctionne (je commettais des erreur de "syntaxe" du "programme" (un petit rictus apparais sur mon visage quand je dis que ta daube sans nom s'appelle un programme)).
Étape suivante : impossible à tester


Plus sérieusement c'est quoi ce délire ?


1/ Chez toi les maths ça se résume à faire 4 pauvres calculs uniquement avec des nombres de 3 chiffres !!! T'as pas l'impression que c'est honteux comme restriction ? En maths je fais des calculs de somme infini et toi ton "super calculator" (trop bien le nom ça augmente le ridicule) se borgne au nombres compris entre 000 et 999 trop bien !

2/ Comme la dis Xeolin ton code est vraiment mais foutu (décomposé toute la chaine pour la reformer ensuite c'est déjà pas mal j'avais encore jamais imaginé ça). Pourtant il y a des bonnes habitudes du genre le try/excpet pour gérer les problèmes en cas d'erreur de rentré mais il en faut un aussi lors du découpage de la chaine (là où tous le monde doit se planter)

3/ Je ne reviendrais pas sur le mode de fonctionnement catastrophique.

4/ La liste des erreurs de codage pourrait être longue mais je pense que tu as compris


Xeolin : "et on dit CALCUL et pas calcule... " => Soit indulgent nous non plus nous ne somme pas des exemples de l'ortho :p


Bon voilà. Normalement vu que c'est t'as première (deuxième ?) source je devrais être bien plus gentil et indulgent mais là c'est pour le bien de la programmation. Corrige ta source il y a urgence. Je te met 1 parce que je peux pas mettre moins ! J'attends ta prochaine source avec impatience en espérant sincèrement qu'elle sera bien mieux. Bon courage et bonne continuation.


P.S. : Xeolin je te dois un serveur je ne l'ai pas oublier !

Commentaire de xeolin le 16/04/2010 12:04:33

C'est vrai que mon orthographe est médiocre mais je vérifie ce que je 'print', tu démarre le soft et bam un fôte dortografe ! (non mé sent blagueux)

sinon j'attends ton serv ^^ !

Commentaire de aera group le 16/04/2010 12:25:40 1/10

Quelle rapidité, j'ai juste le temps de prendre ma douche (oui réveil douloureux et tardif) et déjà une réponse. Pour le serveur il faut pas compté sur moi avant le 19 mai (concours :p), mais dès le 19 je me charge de corriger les dernières petites lacunes et je te l'envoie (version 0.3 - soit encore du boulot mais le soft est déjà bien avancé et je te mettrais tous plein de commentaires annexes).


Pour en revenir à toi Raygold (c'est quand même le forum de ta source ;p) j'ai regarder la première version.
Sans aucune hésitation ta première version surpasse largement la seconde !!! Il reste toujours des petits problèmes (du genre la limitation du nombre d'opérateur) mais il y a au moins des try/except et des tests au bon endroit (no bugs) !
Ah oui au fait on dit pas le signe de l'opération on dit l'opérateur ou l'opérande en maths.


Raygold soit tu corriges ta source soit tu réponds à nos critiques en défendant ton boulot mais je pense pas qu'il faille resté les bras croisé. J'attends ta réaction. Ciao

Au passage je rajoute le 1/10 que j'avais oublier dans mon premier poste

Commentaire de raygold le 16/04/2010 12:42:28

J'ai créé une calculette toujours simple mais graphique et avec la fonction "eval".
Elle ne fait que des petit calcul.

Commentaire de raygold le 16/04/2010 12:57:40

MA clé usb a planté il faut que je récrie le programme.  

Commentaire de aera group le 24/04/2010 12:19:37

Nouveau programme, nouveau look (+1), nouveaux problèmes (-1) !

je rappel les étapes de l'étude :

Étape 1 : Copier ou télécharger le code sans le regarder et l'exécuté.
Étape 2 : Utiliser le code comme le ferait un utilisateur classique, et comprendre le fonctionnement (sans regarder le code)
Étape 3 : Toujours sans voir le code tenté de dénicher des bugs
Étape 4 : Regarder le code et comprendre les mécanismes et erreurs s'il y en a.
Étape 5 : Noter


Résultats :

1/ Ok bon point le programme démarre comme un grand tout seul, bon point

2/ Premier test un calcul simple (1+1) je fait machinalement <Entrée> rien ne se passe (bon ok c'est pas très grave) je fait égale ok le résultat s'affiche.
Nouveau calcul (2-5) pour tester les nombres positifs et la surprise le résultat (-3 bon - encore heureux) s'affiche en dessous du premier résultat. Évidement au bout de 15 calculs (j'ai fais le test) sur mon écran un 17 pouce tout de même et en plein écran j'arrive a la limite d'affichage (le 16 résultat ne peut pas être lu). Et la il y a un gros problème. Tu ne peux pas faire ca c'est pas possible. Pourquoi faire en sorte que la fenêtre s'étire au maximum ? soit tu affiche un seul résultat soit tu affiche ca dans un "Entry" extensible avec ascenseur (ça fait des années que je n'utilise plus Tk et en 3 ou 4 recherche sur ce site je te le fait).
Nouveau test (après nouvelle fenêtre bien entendu - vachement pratique) le calcul plus rechercher racine de 25 (en anglais et en tout langage informatique qui se respect - comme Python - sqrt(25)) et la deuxième surprise : erreur dans la console : pas de fonction sqrt défini (normal quand on prend pas la peine de charger la librairie math). Encore une erreur !

3/ Recherche de bugs : tout de suite le calcul de la mort : 1/0 (impossible pour ceux qui le savent pas) et sans surprise rien n'est prévu (alors que dans la version 1 il y avait un try/except) et message d'erreur dans la console. Dernier test pour finir en beauté : 1/2 qui donne (prévisible) 0 au lieu de 0.5 (bien que la résolution de ce problème est entraiment difficile il y a plusieurs heures de travail !).

4/ Le code est exactement ce que j'avais imaginé, trop bateau un C/C du bouquin de Swinnen aurait suffit !


Voila sije pouvais modifier ma note je ne mettrais pas plus de 4 et c'est bien payer il y a encore du boulot.

Mettre une source dès que l'on a écrit 3 lignes de code ne sert à rien. À re-re-corriger.

ciao

Commentaire de raygold le 16/05/2010 21:29:34

J'ai régler le problème d'affichage. j'essaye de résoudre celui des nombres decimaux

Commentaire de aera group le 10/06/2010 20:21:25

Mise à par le problème de décimaux qui est assez complexe à résoudre, tu aurais pu faire l'effort de corriger ce code, ca ma pris 5 min.






from __future__ import division
from math import *
import Tkinter

def resultat_fonction():
        try:
                texte = eval(saisir.get())
        except:
                texte = "ERREUR"
        resultat.configure(text=texte)


racine=Tkinter.Tk()
texte=Tkinter.Label(racine, text='Cliquer et saisir:', width=20, height=3, fg="black")
texte.pack()
saisir=Tkinter.StringVar() # prevoir la variable pour recevoir le texte saisi
saisie=Tkinter.Entry(textvariable=saisir, width=30)
saisie.pack()
bouton=Tkinter.Button(racine, text="Egale", command=resultat_fonction)
bouton.pack()
resultat=Tkinter.Label(racine, text="", width=20, height=3, fg="black")
resultat.pack()

racine.mainloop()





Pas compliquer tout de même ...

"Je suis l'absence totale de surprise de Jack."

Commentaire de xeolin le 11/06/2010 10:23:42

J'ai envie de dire : tapez  "resultat()"  dans l'entrée de texte...

et puis :

from __future__ import division
from math import *
import Tkinter

def resultat_fonction(trash=None): #vive les oxymores !
        try:    resultat.configure(text=eval(saisie.get(0,Tkinter.END)))
        except: resultat.configure(text="ERREUR")

racine=Tkinter.Tk()

Tkinter.Label(text='Cliquez et saisissez:', width=20, height=3, fg="black").pack()


saisie=Tkinter.Entry(width=30)
saisie.pack()
saisie.bind(resultat_fonction,"<Enter>")
Tkinter.Button(text="Egal", command=resultat_fonction).pack()

resultat=Tkinter.Label(width=20, height=3, fg="black")
resultat.pack()

racine.mainloop()

:p

Commentaire de raygold le 13/06/2010 18:36:47

Désoler de ne pas avoir pu mettre la version 3.1 en ligne plus tôt car j'étais partie en voyage.
Je vois qu'elle ressemble beaucoup a celle de aera groupe donc je pense qu'il n'y aura pas beaucoup de remarque(enfin j'espère).
Dite moi ce que vous en penser.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Librairie graphique vectoriel [ par DoudouBidou ] Bonjour, j'ai depuis quelques jour un projet en t&#234;te, celui de r&#233;aliser un logiciel de saisi de sch&#233;ma &#233;lectrique en python. Calculatrice qui trace les fonctions du second degré [ par micha_jonathan ] Bonjour, je suis actuelement entrain de cr&#233;er une calculatrice en python qui permet de tracer les fonction du second degr&#233;. J'ai r&#233;alis calcul matriciel [ par evelockertrue ] &nbsp;salut,j'ai pour projet de&nbsp;d&#233;velopper un package contenant des fonctions &#232;crites en python et qui serviront &#224; optimiser le ca Appel d'une fonction [ par Thomeux ] Bonjour,Je débute en python.J'essais de structurer mon Programme de la manière suivante         :Un fichier bibliothèque fonction,          :Un Fichi calcul matriciel simple [ par gwenc_hlan ] bonjour,    comment peut on faire sous Python du calcul matriciel simple ? (additionner, multiplier ou inverser des matrices). faut - il impérativeme Probleme de conception [ par JoeNamat ] Bonjour a vous,Je ne suis pas un tres bon programmeur et j'ai programme une interface graphique en python avec PyGTK. Cette interface graphique interr Développement d'un logiciel de calculs en Python [ par icornato ] Bonjour à tousIngénieur dans un BE, j'ai développé un programme d'environ 10 000 lignes en VB pour effectuer du calcul d'éléments poutre (calcul matri Problème de calcul simple [ par vaggarath ] Bonjour bonjour. Voilà j'ai un problème tout c*n, j'en suis sur... En fait je fais un boutton qui procède à un calcul suivant les valeurs rentrées au Python et Octave"matlab" [ par soufianovich ] Bonjour, je suis stagiaire dans une entreprise, jai fait un code octave ou"matlab" c'est la meme chose qui traite mes données. Maintenant je suis en t Python et octave [ par soufianovich ] Bonjour, je suis stagiaire dans une entreprise, jai fait un code octave ou"matlab" c'est la meme chose qui traite mes données. Maintenant je suis en t


Nos sponsors


Sondage...

CalendriCode

Juillet 2010
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,764 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales