Thanks Todd. Can you please look at my other messages that you haven't answered, and see what's wrong with them, or what the answer is. ----- Original Message ----- From: <[EMAIL PROTECTED]> To: <tutor@python.org> Sent: Saturday, July 30, 2005 8:10 PM Subject: Re: [Tutor] When I run this code, it just keeps repeating.
> Looks like you are making some pretty good progress. > > The short answer to your question is that the menu & user input need to be > inside the while loop. That way cal_opt has a chance to change value > before > it gets evaluated by the while loop again. > > Another comment - the global cal_opt is considered evil by many. Better > would > be: > > def cal(): > return int(raw_input("Option: ")) > > print "Mini Calculator" > print "By Nathan Pinno" > print > > while cal_opt != 9: > menu() > cal_opt=cal() > > if cal_opt == 1: > X = input("First number:" ) > Y = input("Second number:" ) > print X, "+", Y, "= ",X + Y > > .... > > > Keep hacking away at it... you're making good progress. > > --Todd > > > On Saturday 30 July 2005 09:55 pm, Nathan Pinno wrote: >> When I run the following code it just keeps repeating. Here is a screen >> shot showing what I mean: Mini Calculator >> By Nathan Pinno >> >> CALCULATE MENU >> 1) Add >> 2) Subraction >> 3) Multiplication >> 4) Division w/o remainder >> 5) Division with remaider >> 6) Exponation >> 7) Square roots >> 9) Exit >> Option: 5 >> First number:4 >> Second number:2 >> 4 / 2 = 2 R 0 >> First number:3 >> Second number:6 >> 3 / 6 = 0 R 3 >> First number:5 >> Second number:6 >> 5 / 6 = 0 R 5 >> First number: >> >> Here is the relevant code: >> # This is a small calculator. >> def menu(): >> print "CALCULATE MENU" >> print "1) Add" >> print "2) Subraction" >> print "3) Multiplication" >> print "4) Division w/o remainder" >> print "5) Division with remaider" >> print "6) Exponation" >> print "7) Square roots" >> print "9) Exit" >> >> def cal(): >> global cal_opt >> cal_opt = int(raw_input("Option: ")) >> >> print "Mini Calculator" >> print "By Nathan Pinno" >> print >> menu() >> cal() >> while cal_opt != 9: >> if cal_opt == 1: >> X = input("First number:" ) >> Y = input("Second number:" ) >> print X, "+", Y, "= ",X + Y >> elif cal_opt == 2: >> X = input("First number:" ) >> Y = input("Second number:" ) >> print X, "-", Y, "= ",X - Y >> elif cal_opt == 3: >> X = input("First number:" ) >> Y = input("Second number:" ) >> print X, "*", Y, "= ",X * Y >> 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 >> elif cal_opt == 5: >> 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," R ", X % Y >> elif cal_opt == 6: >> X = input("First number:" ) >> Y = input("Power:" ) >> print X, "**", Y, "= ",X**Y >> elif cal_opt == 7: >> X = input("Number to find the square root of:" ) >> print "The square root of", X, " = ",X**0.5 >> else: >> print "That's not an option. Try again." >> menu() >> cal() >> print "Goodbye" >> >> How do I stop this, and make it go back to the main menu? >> >> Thanks in advance, >> Nathan > _______________________________________________ > Tutor maillist - Tutor@python.org > http://mail.python.org/mailman/listinfo/tutor > _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor