adam urbas said unto the world upon 05/29/2007 12:39 PM: > The scary part is, I think I understand this. I copied your last > example and put it in IDLE and it doesn't like you code. Never > mind. I figured it out. So that is so it will notify you if your > choice is invalid. Nice lil tidbit of information there. I'll be > sure to use this. Oh and while your here, I'd like to ask about > loops I guess they are. I want to have the program go back to the > part where it asks for the user to select an option after it has > run one of its if statements.Like, when the user tells it, > "circle," then "radius," then enters the radius: here I would like > the program to go back and ask the user if they want to do anything > else, like find the area of a square, instead of the circle. Would > I have to tell python to print all those selections again, or would > there be a way to just return to the beginning?Thanks,Au> Date:
Hi Adam, Again, I cut the mess, but I expect that if you use the gmail account you just posted about here on in, that will be the end of it. I'm glad that you are starting to have the warm glow of understanding :-) What you are asking about here is one reason why functions are so useful. They allow you (more or less) to give a name to a chunk of code, and then you can rerun that chunk at will by invoking the name. Given the problem you want to solve, I'd structure my code something like the following. Most of the details need to be filled in, but this is the skeletal structure. def welcome_message(): # Some actions to invoke when the user starts the program print "Welcome to this program." def display_menu(): # Insert code for showing the user the menu of options pass def circle_area(): # insert code here to ask user for the radius, compute the area, # and display the result. You might well want to divide that up # into other functions that this one calls. pass def square_area(): # Likewise pass # And so on, for each shape that you wish to handle def exit_message(): # Some actions to invoke when the user chooses to terminate # the program. print "Thank you for using this program. Goodbye." def prompt_user(): # Here is where the sort of code I showed you before would go. # I'd include an option, say 0, for exiting, which, when the # user picks it, you call exit_message() while True: try: choice = int(raw_input("Please make your choice ")) if choice < 0 or choice > 2: # Adjust to suit options raise ValueError break except ValueError: print "Please make a choice from the options offered." # sends the choice back to the code that called prompt_user # We won't get here until a good choice has been made return choice def main(): # The main function driving your program. It might look # something like this: welcome_message() while True: # This will loop forever until you break out display_menu() choice = prompt_user() if choice == 0: exit_message() break # Terminate the while loop elif choice == 1: # Assuming 1 was the option for circle circle_area() elif choice == 2: square_area() # And so on print "Please make another choice:" # Go back to top of loop if __name__ == '__main__': # This will run if you run the script, but not if you import it. main() This has not been tested (it is only an outline) but it does pass the only so reliable eyeball check :-) I'd suggest you try filling this sketch out to be useful, and post if you run into troubles. Best, Brian vdB _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor