La sortie que je reçois pour mon petit exemple d'application est la suivante:
def addition(a, b): return a + b def subtraction(a, b): return a - b def multiplication(a, b): return a * b def division(a, b): return a / b keepProgramRunning = True print "Welcome to the Calculator!" while keepProgramRunning: print "Please choose what you'd like to do:" print "0: Addition" print "1: Subtraction" print "2: Multiplication" print "3: Division" print "4: Quit Application" #Capture the menu choice. choice = raw_input() if choice == "0": numberA = raw_input("Enter your first number: ") numberB = raw_input("Enter your second number: ") print "Your result is:" print addition(numberA, numberB) elif choice == "1": numberA = raw_input("Enter your first number: ") numberB = raw_input("Enter your second number: ") print "Your result is:" print subtraction(numberA, numberB) elif choice == "2": numberA = raw_input("Enter your first number: ") numberB = raw_input("Enter your second number: ") print "Your result is:" print multiplication(numberA, numberB) elif choice == "3": numberA = raw_input("Enter your first number: ") numberB = raw_input("Enter your second number: ") print "Your result is:" print division(numberA, numberB) elif choice == "4": print "Bye!" keepProgramRunning = False else: print "Please choose a valid option." print "\n"
8 Réponses :
def getTwoNumbers(): numberA = raw_input("Enter your first number: ") numberB = raw_input("Enter your second number: ") return int(numberA), int(numberB)
Puisque vous écrivez une calculatrice qui accepterait probablement des flotteurs ( De cette façon si la conversion int ne fonctionne pas, vous obtiendrez un flotteur retourné. P> EDIT: Votre en bref, si vous voulez 1.5, 0,03 code>), une manière plus robuste serait d'utiliser cette fonction d'assistance simple:
Division code> peut également entraîner des visages tristes si vous ne sont pas pleinement conscients de Comment python 2.x gère la division entière . P>
10/2 code> à égal
2.5 code> et pas em>
2 code> , vous devrez faire
de __future__ division importation code> ou lancer un ou les deux arguments à flotteur, comme: p>
Peut-être que ce qui suit, alors votre calculatrice peut utiliser une base de numéro arbitraire (par exemple hexagonale, binaire, base 7! etc): (non testée)
facile!
if option == str(1): numberA = int(raw_input("enter first number. ")) numberB= int(raw_input("enter second number. ")) print " " print addition(numberA, numberB) etc etc etc
DEF Ajouter (A, B): Retour A + B
DEF Soustraction (A, B): Retour A - B P>
Multiplication def (A, B): Renvoyez A * B P>
Division def (A, B): Retour A / B P>
KeepProgramRunning = true p>
Imprimer "Bienvenue dans la calculatrice!" P>
tandis que gardien:
Imprimer "Veuillez choisir ce que tu aimerais faire:" p>
Que diriez-vous d'une petite explication?
def addition(a, b): return a + b def subtraction(a, b): return a - b def multiplication(a, b): return a * b def division(a, b): return a / b keepProgramRunning = True print "Welcome to the Calculator!" while keepProgramRunning: print "Please choose what you'd like to do:"
Lorsque vous appelez votre sous-fonction de vos fonctions principales, vous pouvez convertir les variables en Int, puis appelez. Veuillez vous reporter au code ci-dessous: ici ce que j'ai fait est que j'ai appelé chacune de la fonction lors de la conversion des paramètres entrés en Int. J'espère que cela a été utile. P> Dans votre cas, il pourrait être changé comme ceci: p>
N'utilisez pas la méthode Str () directement dans HTML à la place, utilisez-la avec
J'ai déjà indiqué que le système postait la question deux fois, vérifiez la publication. Pas vraiment ma faute et je ne peux pas supprimer la question non plus.
Le lien
fermeture code> n'est pas présent pour vous?
Cela ne ferme pas immédiatement la question cependant.
Dupliqué possible de Python - Paysez la chaîne à flotteur ou int