...
elif cal_opt == 4:
X = input("First number:" )
Y = input("Second number:" )
if Y == 0:
print "Division by zero ot allowed!"
Y = input("Second number:" )
else:
print X, "/", Y, "= ",X / Y
Note that you give user a 2nd try but that input never reaches the print statement.
The following might be a bit of a stretch, but consider creating a list of lists to store the various menu options.
Doing this separates the high-level menu from lower-level code which is now not repetitive. To add/modify menu items one just extends/edits the list. Here's a "simple" example which ignores some things but gives you the idea. Warning untested code:
menuItems = [
["Add", "First number:", "Second number:", "+", lambda(x,y:x+y)],
["Subtract", "First number:", "Second number:", "-", lambda(x,y:x-y)],
["Exit"]]
# first item is the main menu prompt,
# 2nd and 3rd are the input prompts,
# 4th is the string representation of the operator,
# 5th is an anonymous function to do the calculation.
def menu():
print "CALCULATE MENU"
for option, menuItem in enumerate(menuItems):
print str(option + 1) + ")", menuItem[0]
def cal():
cal_opt = int(raw_input("Option: "))
if 1 <= cal_opt <= len(menuItems):
menuItem = menuItems[cal_opt - 1]
if menuItem[0] = "Exit":return False
prompt1, prompt2, oper, func = menuItem[1:]
X = input(prompt1)
Y = input(prompt2)
print X, oper, Y, "= ", func(X, Y)
else:
print "That's not an option. Try again."
return True
print "Mini Calculator"
print "By Nathan Pinno"
while True:
menu()
if not cal(): break
phone 510 978 4454
_______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor