Ma premiere calculatrice en python!!

Soyez le premier à donner votre avis sur cette source.

Snippet vu 21 683 fois - Téléchargée 15 fois

Contenu du snippet

Voici ma premiere calculatrice , qui est malheuresement en console. Ne vous inquiétait pas, bientot je creerai un autre avec Tkinter, et elle sera en fenetre!!
Cette calculatrice sait faire tout les operation de base, et peu aussi afficher les tables de multiplication d'un nombre a un autres nombre.
Ce n'est pas une calc Scientifique, donc ne vous attendez pas a voir le sinu ou cosinus...

Source / Exemple :


#!/usr/bin/python
# -*- coding: utf-8 -*-

def table(nb,depart,arrive):
 while depart != arrive:
  print depart,"fois",arrive,"est egale a",depart*arrive
  depart=depart+1
 
restart="Voulez continuez?oui/non"
rep=0
while rep < 100:
 print "Code par djisse95 a des fins purement educative."
 print "\n Pour toute suggestion ou probleme veuillez contactez disse95."
 print " Tous droit reserve à djisse95. Toute copie sans autorisation est interdite."
 print "\nBienvenue sur xCalc!"
 print "\n Que voulais-vous faire?"
 print "\n 1.Tables \n 2.Multiplication \n 3.Addition \n 4.Soustraction \n 5.Division"
 choix=input()
 ph="Choisissez les deux nombres"

 if choix == 1:
  print "Quelle Table?"
  nb=input()
  print "A partir de quelle nombre?"
  depart=input()
  print "Jusqu'a quelle nombre?"
  arrive=input()
  print "Voici le resultat"
  table(nb,depart,arrive)
  rep=rep+1
 
 elif choix == 2:
  print ph
  a=input()
  b=input()
  print a,"fois",b,"est egale a",a*b 
  rep=rep+1
 
 elif choix == 3:
  print ph
  nb1=input()
  nb2=input()
  print nb1,"plus",nb2,"est egale a ",nb1+nb2 
  rep=rep+1
 
 elif choix == 4:
  print ph
  nb1=input()
  nb2=input()
  print nb1,"moins",nb2,"est egale a",nb1-nb2
  rep=rep+1
 
 elif choix == 5:
  print ph
  nb1=input()
  nb2=input()
  print nb1,"divisé par",nb2,"est egale a",nb1/nb2
  rep=rep+1
 
raw_input('Appuyez sur entree pour quitter le programme...')

Conclusion :


Corrigez moi si vous pensez que c'est necessaire, mais s'il vous plait faites des remarques constructive, car j'ai fait ce programme pour apprendre et m'excercer!

A voir également

Ajouter un commentaire

Commentaires

Messages postés
6
Date d'inscription
vendredi 13 juin 2008
Statut
Membre
Dernière intervention
22 décembre 2008

Ok, je suis la. Je reconnais que ma création est trés basique. Mais je l'ai posté au moment ou j'étudiai encore le python, je n'avais meme pas encore finis le code! Dés que j'ai le temps, je la corriges(ce qui va etre difficille avec les fete, et 2 projet de site web!).
Mais je promet de l'améliorai, tenais vous au courant de cette source!
Messages postés
382
Date d'inscription
mercredi 23 août 2006
Statut
Membre
Dernière intervention
8 novembre 2010
11
Toujours aucun changement malgré les remarques ... Regrétable
Messages postés
382
Date d'inscription
mercredi 23 août 2006
Statut
Membre
Dernière intervention
8 novembre 2010
11
Le problème de ce programme n'est pas vraiment sa structure pour la communication avec l'utilisateur, mais plutôt les fonctionnalités du programme :
- Les additions - soustractions - multiplications - divisions peuvent être réaliser rapidement à l'aide de la commande eval(), quelle idée bizarre et tordu de ré-inventer les instructions de bases des microprocesseur !!!!
- Une erreur mentionner par petitmoustique dans la fonction table
- Erreur pour la division par Zéro
- Pas de gestion des erreurs avec try (trivial pourtant)
- Je n'avais pas vu ça la première fois, mais ça ma fait beaucoup rire : la boucle ! Pourquoi après 100 opérations devrions nous arrêter le programme ? Et à quoi sert la variable restart ?
- En tapant une lettre ou un nombre différant de ceux attendu je crée une erreur (de même pour la rentrée de donnée)
- On pourrait continuer cette liste ...

Je vois que Jacques est perturbé par cette histoire de switch :p ! L'idée est la suivante : créer une liste avec les fonction à appeler dans un ordre précis par exemple :
1 -> fonc1
2 -> fonc2
3 -> fonc3
...
On crée une liste de cette forme : liste = [fonc1,fonc2,fonc3,...]
L'utilisateur rentre un indice i correspondant a la fonction voulu (exemple i=1 pour fonc1)
on a plus qu'a appeler la fonction liste[i-1] !

Voila, je précise que si je devais noté cette source, je pense qu'elle vaut 3 !
Si l'auteur pouvait de manifester pour corriger sa source, apporter ses idée et défendre son projet contre nos critiques assez féroce, mais qui montre tout de même que nous apportant un intérêt à sa source ce serait assez constructif !!!!

En espérant une réponse de l'auteur, je vous souhaite à tous une bonne journée, ciao
_____
Aéra
Messages postés
6
Date d'inscription
dimanche 24 décembre 2000
Statut
Membre
Dernière intervention
17 novembre 2008

Un switch...
case1
case2
case3
...

Serait sûrement une bonne solution.
Mais ça n'existe pas en python.

Ce n'est pas un manque: il y a dans ce langage une infinité de manières d'exploiter les chaînes, listes et dictionnaires.
Avec un peu de réflexion on se fabrique un bon équivallent du switch, par exemple. Et je suis sûr que notre ami Djisse 95 peut trouver maintenant qu'il a un indice.

Cordialement

jacques
Messages postés
52
Date d'inscription
mardi 13 novembre 2007
Statut
Membre
Dernière intervention
26 janvier 2011
8
je sais pas si ça existe, mais un switch peux faire ll'affaire ?
Afficher les 9 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Du même auteur (djisse95)