"Calculatrice" simple sur Python: besoin d'aide

Fermé
Banania - 20 oct. 2021 à 23:19
georges97 Messages postés 12047 Date d'inscription lundi 31 janvier 2011 Statut Contributeur Dernière intervention 1 juillet 2024 - 21 oct. 2021 à 14:55
Bonjour,

Je suis nouveau sur Python et je voudrais créer une calculatrice pouvant résoudre des opérations simples (+ - * /) en définissant ces opérations une par une (def addition, etc.). Je voudrais aussi que l'entrée soit en string (par exemple"6*33") et que mon programme puisse splitter les deux chiffres et résoudre l'opération.

Comme je suis débutant, j'aimerais simplement apercevoir un codage simple (def, return, split) et pas trop complexe pour que je puisse le comprendre, Merci d'avance pour votre aide!
A voir également:

2 réponses

georges97 Messages postés 12047 Date d'inscription lundi 31 janvier 2011 Statut Contributeur Dernière intervention 1 juillet 2024 2 297
21 oct. 2021 à 06:41
Bonjour,

Ceci ressemble furieusement à un exercice scolaire. Si ce n'est pas le cas, en tant que débutant, commencer par un script plus simple. Sinon relire les cours sur les fonctions citées et voir:

https://www.commentcamarche.net/infos/25899-demander-de-l-aide-pour-vos-exercices-sur-ccm/
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
0
georges97 Messages postés 12047 Date d'inscription lundi 31 janvier 2011 Statut Contributeur Dernière intervention 1 juillet 2024 2 297
21 oct. 2021 à 14:55
Pourriez vous reposter votre réponse, qui est apparue puis n'a plus été accessible.

Elle apparaissait ainsi (sans indentations):

def addition(x, y):
return x + y

def subtract(x, y):
return x - y

def multiply(x, y):
return x * y

def divide(x, y):
return x / y

def calculate():
return (float(x, y)).split("+", "-", "*", "/")

Il faudrait donc utiliser les balises (mon deuxième lien).

Ce qui m''apparaît, c'est que le float() n'est pas nécessaire puisque python gère le typage dynamique, qui permet la reconnaissance des variables numériques. Et donc si vous mixez un nombre entier et un nombre décimal, le résultat sera décimal.

Je ne suis pas sûr que le split s'impose en la matière et de plus n'en maitrise pas l'usage.

Par ailleurs, votre fonction calculate() comporte un return mais pas d'instruction sur laquelle ce return s'applique.

Enfin, il conviendrait de prévoir des fonctions de saisie des nombres sous peine de devoir les inclure dans les fonctions.

En attendant l'aide s'un autre intervenant, vous pouvez consulter cette page:

https://www.programiz.com/python-programming/examples/calculator
0