MA PREMIERE CALCULATRICE EN PYTHON!!

noobiz Messages postés 616 Date d'inscription lundi 1 octobre 2007 Statut Membre Dernière intervention 2 juillet 2009 - 31 oct. 2008 à 12:31
djisse95 Messages postés 5 Date d'inscription vendredi 13 juin 2008 Statut Membre Dernière intervention 22 décembre 2008 - 22 déc. 2008 à 13:53
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/48334-ma-premiere-calculatrice-en-python

djisse95 Messages postés 5 Date d'inscription vendredi 13 juin 2008 Statut Membre Dernière intervention 22 décembre 2008
22 déc. 2008 à 13:53
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!
aera group Messages postés 382 Date d'inscription mercredi 23 août 2006 Statut Membre Dernière intervention 8 novembre 2010 18
22 déc. 2008 à 11:40
Toujours aucun changement malgré les remarques ... Regrétable
aera group Messages postés 382 Date d'inscription mercredi 23 août 2006 Statut Membre Dernière intervention 8 novembre 2010 18
5 nov. 2008 à 14:30
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
jactrouillet Messages postés 6 Date d'inscription dimanche 24 décembre 2000 Statut Membre Dernière intervention 17 novembre 2008
5 nov. 2008 à 12:50
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
petitmoustique Messages postés 52 Date d'inscription mardi 13 novembre 2007 Statut Membre Dernière intervention 26 janvier 2011 15
5 nov. 2008 à 10:16
je sais pas si ça existe, mais un switch peux faire ll'affaire ?
jactrouillet Messages postés 6 Date d'inscription dimanche 24 décembre 2000 Statut Membre Dernière intervention 17 novembre 2008
3 nov. 2008 à 09:10
Bonjour,

Quant à moi j'hésite: Ma première réaction est assez proche des commentaires ci-dessus.
Mais il faut savoir se rappeler ses débuts, et Djisse95 insiste beaucoup sur sa position de débutant. Et puis j'aime assez la bonne volonté de vouloir s'exercer pour faire mieux plus tard.

Donc, si tu es un vrai débutant en programmation je t'encourage à continuer. Mais à continuer en tenant compte des critiques.
Je peux comprendre ta précipitation à poster un code qui te satisfait à peu près, cependant il est bon d'en faire un peu plus.
-En particulier il est bien de te mettre à la place d'un utilisateur peu compétent et de prévoir les erreurs possibles afin de les gérer correctement.
-Il est normal de débuter avec des fonctions de base. Pourtant, si tu réfléchis un peu, tu vas sûrement trouver qu'il n'est vraiment pas compliqué d'ajouter les fonctions scientifiques.
-Quand un code fonctionne, demande toi si tu ne peux pas l'améliorer. Le premier jet, en informatique comme en littérature est rarement le meilleur, surtout en débutant. Il convient de le retravailler. Par exemple, pourrais-tu faire autrement pour la longue suite d'"elif" ?
-Bref, quand ce que tu voulais fonctione à peu près tu ne dois pas voir cela comme une fin, mais comme une base pour débuter le vrai travail de réflexion. C'est un peu décevant, je sais, mais si tu as la bonne volonté d'apprendre que tu manifestes, alors je suis sûr que tu vas te prendre au jeu et faire du bon travail.
-Enfin s'exercer sur des idées simples, mille fois répétées, est pédagogique, mais sans originalité: aux étapes suivantes essaie d'être un peu plus original

Bon courage

Cordialement

Jacques
aera group Messages postés 382 Date d'inscription mercredi 23 août 2006 Statut Membre Dernière intervention 8 novembre 2010 18
2 nov. 2008 à 18:40
Code sans ame, sans but, sans beaucoup de chose et surtout "buggable" : je n'ai pas encore regardé le code, et lorsque j'ai vu en le lançant la première fois "5. Division", un grand sourire et apparu sur mon visage et j'étais près à parier que la division par zéro afficher une erreur de Python. Je n'ai pas été déçu. De ce fait je pense que 1/10 serais la note la plus aproprié à défaut de ne pas pouvoir mettre 0, mais comme je suis de mauvaise humeure, je ne metterais pas de note peu être trop injuste, j'ai oublier que moi aussi, j'ai débuté, même si ce type de problème ne se résout pas avec l'expérience , mais avec la tête.
De même corrige la fonction table .... Et ne me juge pas sur ce message, je suis simplement de mauvaise humeure ....
petitmoustique Messages postés 52 Date d'inscription mardi 13 novembre 2007 Statut Membre Dernière intervention 26 janvier 2011 15
31 oct. 2008 à 12:37
Je ne met que 5/10, car je trouve cete calculatrice simple a réaliser, mais il manque tout de même beaucoups de choses, comme par exemple "table" : il y a les additions, les soustractions, les divisions et les multiplications ^^

Ou alors ligne 6 , met ça, ce sera plus sympa a mon gout :-)

print nb,"fois",depart,"est egale a",depart*nb
noobiz Messages postés 616 Date d'inscription lundi 1 octobre 2007 Statut Membre Dernière intervention 2 juillet 2009
31 oct. 2008 à 12:31
Si tu débutes, cela n'est pas mal mais je dois dire que le code n'apporte rien de spécial en lui-meme, et que il y a des dizaines des codes identiques sur le site et sur le web.
Mais si tu débutes, essaye de faire des codes un peu plus créatifs et usuels avant de les poster!
Rejoignez-nous