[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
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: 3
First number:4
Second number:6
4 * 6 = 24
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: 9
That's not an option. Try again.
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: 6
Goodbye
And the latest 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():
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
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"
Thanks in advance,
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:
> 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
cut screen shot and code
>> Thanks in advance,
>> Nathan
> _______________________________________________
> Tutor maillist - Tutor at python.org
> http://mail.python.org/mailman/listinfo/tutor
>
More information about the Tutor
mailing list