[Tutor] Giant Calc runs, but need advice on how to make the menu repopup.

Pujo Aji ajikoe at gmail.com
Tue Jul 12 10:33:03 CEST 2005


you can wrap your code with while statement that check a user input
received at the end of every calculation you made whether go back to
main menu or not.

pujo

On 7/12/05, Nathan Pinno <falcon3166 at hotmail.com> wrote:
>  
> It runs but now how do I make it go back to the previous menu (e.g. from Add
> to Calculate Menu?) 
>   
> Here is the latest screenshot: 
>   
> The Giant Calculator 
>   
> Copyright 2005 Written and debugged by Nathan Pinno 
>   
> OPTIONS MENU
> 1) Calculate
> 2) Shapes
> 3) Temperature
> 4) Formulas
> 5) Quit
> What option would you like:1
> CALCULATE MENU
> 1) Add
> 2) Subraction
> 3) Multiplication
> 4) Division w/o remainder
> 5) Division with remaider
> 6) Exponation
> 7) Square roots
> 8) Back to the previous menu.
> What option would you like:3
> First number:3
> Second number:2
> 3 * 2 =  6
> CALCULATE MENU
> 1) Add
> 2) Subraction
> 3) Multiplication
> 4) Division w/o remainder
> 5) Division with remaider
> 6) Exponation
> 7) Square roots
> 8) Back to the previous menu.
> What option would you like:7 
>   
> 
> >>> 
>   
> and the current code: 
>   
> # This program is designed as a big calculator with functions. 
>   
> # This first bunch of code is for the various menus. I decided to divide the
> calculations into seperate sub-menus,
> #so that the main menus would not be that long.
> def main_menu():
>    global option
>    print "OPTIONS MENU"
>    print "1) Calculate"
>    print "2) Shapes"
>    print "3) Temperature"
>    print "4) Formulas"
>    print "5) Quit"
>    option = input("What option would you like:" ) 
>   
> def cal_menu():
>     global cal_opt
>     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 "8) Back to the previous menu."
>     cal_opt = input("What option would you like:" ) 
>   
> def shape_menu():
>     global shape_opt
>     print "SHAPES MENU"
>     print "Important: The figure that is used for pi is 3.14."
>     print "1) Squares"
>     print "2) Circles"
>     print "3) Rectangles"
>     print "4) Triangles"
>     print "5) Cones"
>     print "6) Cylinders"
>     print "7) Semicircles"
>     print "8) Main menu"
>     shape_opt = input("What option would you like?" ) 
>   
> def temp_menu():
>     global temp_opt
>     print "1) Convert degrees Kevins to degrees Celsius"
>     print "2) Contvert Fahrenheit to Celsius"
>     print "3) Convert Celsius to Fahrenheit"
>     print "4) Convert Celsius to Kelvins"
>     print "5) Convert Kelvins to Fahrenheit"
>     print "6) Convert Fahrenheit to Kelvins"
>     print "7) Main Menu"
>     temp_option = input("Choice: ") 
>   
> def formula_menu():
>     global formula_opt
>     print "1) Interest"
>     print "2) Distance"
>     print "3) Uniform motion"
>     print "4) Momentum"
>     print "5) Uniformly accelerated motion"
>     print "6) Falling bodies"
>     print "7) Weight"
>     print "8) Main menu"
>     fourmula_option = input("Choice: ") 
>   
> #Code for main part of program.
> print "The Giant Calculator"
> print
> print "Copyright 2005 Written and debugged by Nathan Pinno"
> print 
> main_menu()
> if option == 1:
>     cal_menu()
>     if cal_opt == 1:
>         X = input("First number:" )
>         Y = input("Second number:" )
>         print X, "+", Y, "= ",X + Y
>         cal_menu()
>     elif cal_opt == 2:
>         X = input("First number:" )
>         Y = input("Second number:" )
>         print X, "-", Y, "= ",X - Y
>         cal_menu()
>     elif cal_opt == 3:
>         X = input("First number:" )
>         Y = input("Second number:" )
>         print X, "*", Y, "= ",X * Y
>         cal_menu()
>     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
>             cal_menu()
>     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
>             cal_menu()
>     elif cal_opt == 6:
>         X = input("First number:" )
>         Y = input("Power:" )
>         print X, "**", Y, "= ",X**Y
>         cal_menu()
>     elif cal_opt == 7:
>         X = input("Number to be squared:" )
>         print "The square root of", X, " = ",X**0.5
>         cal_menu()
>     elif cal_opt == 8:
>         main_menu()
>     else:
>         print "That's not an option. Try again."
>         cal_menu
> elif option == 2:
>     shape_menu()
>     if shape_opt == 1:
>         print "1) Circumference"
>         print "2) Area"
>         print "3) Shapes Menu"
>         op = input("Choice: ")
>         if op == 1:
>             side = input("Side: ")
>             print "Circumference = ",4*side
>             shape_menu()
>         elif op == 2:
>             side = input("Side: ")
>             print "Area = ",side**2
>             shape_menu()
>         elif op == 3:
>             shape_menu()
>         else:
>             print "That's not an option."
>             op = input("Choice: ")
>     elif shape_opt == 2:
>         print "1) Circumference"
>         print "2) Area"
>         print "3) Shapes Menu"
>         d = input("Choice: ")
>         if d == 1:
>             diameter = input("Diameter: ")
>             print "The circumference of the circle is ",diameter*3.14
>             shape_menu()
>         elif d == 2:
>             radius = input("Radius: ")
>             print "The area of the circle is ",3.14*(radius**2)
>             shape_menu()
>         elif d == 3:
>             shape_menu()
>         else:
>             print "That's not an option."
>             d = input("Choice: ")
>     elif shape_opt == 3:
>         print "1) Area"
>         print "2) Perimeter"
>         print "3) Main menu"
>         g = input("Choice: ")
>         if g == 1:
>             base = input("Base: ")
>             altitude = input("Altitude: ")
>             print "The area of the rectangle is: ",base*altitude
>             shape_menu()
>         elif g == 2:
>             base = input("Base: ")
>             altitude = input("Altiutude: ")
>             print "The perimeter of the rectangle is:
> ",(2*base)+(2*altitude)
>             shape_menu()
>         elif g == 3:
>            shape_menu()
>         else:
>            print "That's not an option."
>            g = input("Choice: ")
>     elif shape_opt == 4:
>         print "1) Right Triangles - Pygathorean Theorum"
>         print "2) Perimeter"
>         print "3) Area"
>         print "4) Shapes Menu"
>         e = input("Choice: ")
>         if e == 1:
>             sidea = input("Side A: ")
>             sideb = input("side B: ")
>             print "The hypotenuse's length is:
> ",((sidea**2)+(sideb**2))**0.5
>             shape_menu()
>         elif e == 2:
>             sidea = input("Side A: ")
>             sideb = input("Side B: ")
>             sidec = input("Side C: ")
>             print "The Perimeter of the triangle is: ",sidea+sideb+sidec
>             shape_menu()
>         elif e == 3:
>             base = input("Base: ")
>             height = input("Height: ")
>             print "The area of the triangle is: ",1/2*base*height
>             shape_menu()
>         elif e == 4:
>             shape_menu()
>         else:
>             print "That's not an option! Try again."
>             e = input("Choice: ")
>     elif shape_opt == 5:
>         print "The base and circumference of a cone can be found with the
> circle formulas, so they aren't found here."
>         print "1) Lateral Area"
>         print "2) Total Area"
>         print "3) Volume"
>         print "4) Shapes Menu"
>         opt = input("Choice: ")
>         if opt == 1:
>            r = input("Radius: ")
>            sl = input("Slant height: ")
>            print "The Lateral Area is: ",1/2*(2*3.14*r)*sl
>            shape_menu()
>         elif opt == 2:
>            r = input("Radius: ")
>            sl = input("Slant height: ")
>            print "The total area is: ",1/2*(2*3.14*r)*sl+(3.14*(r**2))
>            shape_menu()
>         elif opt == 3:
>            height = input("Height: ")
>            r = input("Radius: ")
>            print "The volume is: ",1/4*(3.14*(r**2))*height
>            shape_menu()
>         elif opt == 4:
>            shape_menu()
>         else:
>            print "That's not an option"
>            opt = input("Choice: ")
>     elif shape_opt == 6:
>         print "1) Lateral Area"
>         print "2) Total Area"
>         print "3) Volume"
>         print "4) Shape Menu"
>         g = input("Choice: ")
>         if g == 1:
>            r = input("Radius: ")
>            height = input("Height: ")
>            print "The Lateral Area is: ",(2*3.14*r)*height
>            shape_menu()
>         elif g == 2:
>            r = input("Radius: ")
>            height = input("Height: ")
>            print "The Total Area is: ",((2*3.14*r)*height)+(2*(3.14*(r**2)))
>            shape_menu()
>         elif g == 3:
>            r = input("Radius: ")
>            height = input("Height: ")
>            print "The volume is: ",(3.14*(r**2))*height
>            shape_menu()
>         elif g == 4:
>            shape_menu()
>         else:
>            print "That is not an option!"
>            g = input("Choice: ")
>     elif shape_opt == 7:
>         print "1) Arc Length"
>         print "2) Area"
>         print "3) Shape Menu"
>         h = input("Choice: ")
>         if h == 1:
>            diam = input("Diameter: ")
>            print "The arc length is: ",(3.14*diam)/2
>            shape_menu()
>         elif h == 2:
>            r = input("Radius: ")
>            print "The area is: ",(3.14*(r**2))/2
>            shape_menu()
>         elif h == 3:
>            shape_menu
>         else:
>            print "Sorry, incorrect entry. Please try again."
>            h = input("Choice: ")
>     elif shape_menu == 8:
>         main_menu()
>     else:
>         print "Sorry, not an option."
>         shape_menu()
> elif option == 3:
>     temp_menu()
>     if temp_option == 1:
>         print "Convert degrees Kelvin to degrees Celsius."
>         k = input("Degrees Kelvin: ")
>         print k-273.16," degrees Celsius"
>         temp_menu()
>     elif temp_option == 2:
>       print "Convert Fahrenheit to Celsius"
>       f = input("Degrees Fahrenheit: ")
>       print 5/9*(f-32)," degrees Celsius"
>       temp_menu()
>     elif temp_option == 3:
>       print "Convert Celsius to Fahrenheit"
>       c = input("Degrees Celsius: ")
>       print (9/5*C)+32," degrees Fahrenheit"
>       temp_menu()
>     elif temp_option == 4:
>       print "Convert degrees Celsius to degrees Kelvin"
>       c = input("Degrees Celsius: ")
>       print c+273.16," degrees Kelvin"
>       temp_menu()
>     elif temp_option == 5:
>       print "Convert degrees Kelvin to Fahrenheit"
>       k = input("Degrees Kelvin: ")
>       print ((k-273.16)*9/5)+32," degrees Fahrenheit"
>       temp_menu()
>     elif temp_option == 6:
>       print "Convert Fahrenheit to degrees Kelvin"
>       f = input("Degrees Fahrenheit: ")
>       print (5/9*(f-32))+273.16," degrees Kelvin"
>       temp_menu()
>     elif temp_option == 7:
>       main_menu()
>     else:
>       print "That's not an option. Please try again"
>       temp_menu()
> elif option == 4:
>    formula_menu()
>    if formula_option == 1:
>       p = input("Principal: ")
>       r = input("Rate as a decimal: ")
>       t = input("Time in years: ")
>       print "Interest: ",p*r*t
>       formula_menu()
>    elif formula_option == 2:
>       r = input("Rate: ")
>       t = input("Time: ")
>       print "Distance: ",r*t
>       formula_menu()
>    elif formula_option == 3:
>       v = input("Velocity: ")
>       t = input("Time: ")
>       print "Uniform motion: ",v*t
>       formula_menu()
>    elif formula_option == 4:
>       m = input("Mass: ")
>       v = input("Velocity: ")
>       print "Momentum: ",m*v
>       formula_menu()
>    elif formula_option == 5:
>       as = input("Acceleration speed: ")
>       t = input("Time: ")
>       print "Uniformly accelerated motion: ",1/2*as*t
>       formula_menu()
>    elif formula_option == 6:
>       gravity = input("Constant acceleration due to gravity: ")
>       t = input("Time: ")
>       print "Distance covered by falling body: ",1/2*gravity*(t**2)
>       formula_menu()
>    elif formula_option == 7:
>       m = input("Mass: ")
>       gravity = input("Gravity: ")
>       print "Weight: ",m*gravity
>       formula_menu()
>    elif formula_option == 8:
>       main_menu()
>    else:
>       print "That is not an option."
>       formula_menu()
> elif option == 5:
>    print "Goodbye!"
> else:
>    print "That is not an option. Please choose an option from the menu."
>    main_menu()
> print
>  
>   
> So how do I do it? 
>   
> Nathan Pinno
> http://www.npinnowebsite.ca/ 
> 
>  
> _______________________________________________
> Tutor maillist  -  Tutor at python.org
> http://mail.python.org/mailman/listinfo/tutor
> 
> 
>


More information about the Tutor mailing list