Python - Débutant [Résolu/Fermé]

Signaler
Messages postés
11
Date d'inscription
jeudi 21 février 2008
Statut
Membre
Dernière intervention
20 mars 2010
-
Messages postés
11
Date d'inscription
jeudi 21 février 2008
Statut
Membre
Dernière intervention
20 mars 2010
-
Bonjour,

J'utilise Notepad++ pour coder et cmd pour exécuter.
Je dois programmer une calculatrice simple et je sèche pour la suite de mon programme.

#Fonction qui calcule la somme de 2 nombres
def addition (nombre1,nombre2):
total = nombre1 + nombre2
return total

#fonction qui soustrait 2 nombres
def soustraction (nombre1,nombre2):
total = nombre1 - nombre2
return total

#Fonction qui multiplie 2 nombres
def multiplication (nombre1,nombre2):
total = nombre1 * nombre2
return total

#Fonction qui divise 2 nombres
def division (nombre1,nombre2):
resultat = nombre1 / nombre2
return resultat


#Programme principal

print "Entrez votre calcul"
calcul=raw_input()
calcul=calcul.split("+")
nombre1=float(calcul[0])
nombre2=float(calcul[1])
somme=addition(nombre1,nombre2)
print somme


Jusque là ça fonctionne pour l'addition mais comment faire pour les autres opérations en sachant que je débute et que je n'ai vu dans mes cours que les tests, les boucles, les chaines et les fonctions.
J'ai essayer pas mal de truc mais c'est la seule façon que j'ai trouvée pour fractionner ma chaine de caractères et la transformer en nombre.
Si quelqu'un à une idée pour la suite de mon programme ou une autre solution ???
Merci d'avance

1 réponse

Messages postés
9683
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
13 septembre 2019
1 163
Salut.
Si tu ne fait qu'une opération à la fois, tu peux faire des tests :
if calcul.find('+')!=-1 :
//split + calcul de somme
else if calcul.find('-')!= -1 :
//split + calcul de diférence
etc.
voilà l'algorithme, mais comme je ne suis pas très au courant de python, il faut peut être adapter la fonction find et le code retour.
Messages postés
11
Date d'inscription
jeudi 21 février 2008
Statut
Membre
Dernière intervention
20 mars 2010

Merci pour l'info.

J'ai du traficoter un peu mais ça tourne.

Bonne soirée