keepProgramRunning = True
while keepProgramRunning:
print "Welcome to the Calculator!"
print "Please choose what you'd like to do:"
print "0: Addition"
print "1: Subtraction"
print "2: Multiplication"
print "3: Division"
#Capture the menu choice.
choice = raw_input()
#Capture the numbers you want to work with.
numberA = raw_input("Enter your first number: ")
numberB = raw_input("Enter your second number: ")
if choice == "0":
print "Your result is:"
print Addition(numberA, numberB)
elif choice == "1":
print "Your result is:"
print Subtraction(numberA, numberB)
elif choice == "2":
print "Your result is:"
print Multiplication(numberA, numberB)
elif choice == "3":
print "Your result is:"
print Division(numberA, numberB)
else:
print "Please choose a valid option."
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
Voici l'erreur:ne se trouve pas dans mon application Python
Traceback (most recent call last):
File "C:\Users\Sergio.Tapia\Documents\NetBeansProjects\Tutorials\src\tutorials.py", line 23, in <module>
print Addition(numberA, numberB)
NameError: name 'Addition' is not defined
Merci pour l'aide!
Ps. Je réalise que la boucle ne se terminera jamais, je n'ai pas encore ajouté l'option de menu. : P
Je n'oublie pas que python est interprété et non compilé! Merci pour l'aide. :) –
@Sergio Tapia: en fait Python est compilé en bytecode (similaire à Java/C#), et toutes les fonctions seraient déjà compilées avant le démarrage du programme, cependant la sémantique de la compilation est tardive (contrairement à Java/C#), et les objets de fonctions ne sont affectés à un nom pouvant être appelé que lorsque l'instruction def est exécutée (en Java/C#, les appels de fonctions sont résolus au moment de la compilation). –
@Sergio: Même les langages compilés (C au moins) se plaindront si vous utilisez une fonction avant de l'avoir déclarée. –