# [Tutor] Now what do I do?(was Re: When I run this code, it just keeps repeating.)

Nathan Pinno falcon3166 at hotmail.com
Sun Jul 31 04:39:34 CEST 2005

```Here is another screen shot:
Mini Calculator
By Nathan Pinno

2) Subraction
3) Multiplication
4) Division w/o remainder
5) Division with remaider
6) Exponation
7) Square roots
9) Exit
Option: 3
First number:4
Second number:6
4 * 6 =  24
2) Subraction
3) Multiplication
4) Division w/o remainder
5) Division with remaider
6) Exponation
7) Square roots
9) Exit
Option: 9
That's not an option. Try again.
2) Subraction
3) Multiplication
4) Division w/o remainder
5) Division with remaider
6) Exponation
7) Square roots
9) Exit
Option: 6
Goodbye

And the latest code:
# This is a small calculator.
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():
return int(raw_input("Option: "))

print "Mini Calculator"
print "By Nathan Pinno"
print
while cal_opt != 9:
cal_opt = cal()
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."
cal()
print "Goodbye"

Nathan Pinno.
----- Original Message -----
From: <python-tutor at toddmaynard.com>
To: <tutor at 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:
>   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
cut screen shot and code