On Sunday, January 20, 2013 9:56:59 PM UTC-8, alex23 wrote: > On Jan 21, 2:40 pm, eli m <techgeek...@gmail.com> wrote: > > > an else statement is running when it shouldnt be. It is > > > on the last line. Whenever i am in the math or game > > > function, when i type in main, it goes back to the start > > > of the program, but it also says not a valid function. > > > I am stumped! > > > > Here is your code with the irrelevancy stripped away: > > > > function = raw_input("Type in a function:") > > #start math loop > > if function == "math": > > #math code > > if function == "random number": > > #random code > > if function == "games": > > #games code > > if function == "help": > > #help code > > else: > > print ("Not a valid function") > > > > Say you enter 'math'. It passes the first condition, so runs the math > > code. > > It then fails on the next 3 conditions, the last of which has an else, > > so if you type _anything_ other than 'help', you'll see "Not a valid > > function". > > > > Easy answer, use `elif` ("else if") instead of else for the subsequent > > tests: > > > > if function == "math": > > #math code > > elif function == "random number": > > #random code > > elif function == "games": > > #games code > > elif function == "help": > > #help code > > else: > > print ("Not a valid function") > > > > Better answer: read up on real functions, and look into dictionary > > dispatch: > > > > def f_math(): > > #math code > > > > def f_random_number(): > > #random code > > > > <etc> > > > > function_dispatcher = { > > 'math': f_math, > > 'random number': f_random_number, > > <etc> > > } > > > > while cmd == 0: > > function_name = raw_input("Type in a function:") > > if function_name in function_dispatcher: > > function_dispatcher[function_name]() > > else: > > print("Not a valid function") > > > > To have your functions break out of the loop, use a `global` variable > > or pass a context object into each function to allow them to set > > `cmd`.
Thank you, that solved my problem. Sorry for my posts, i am a noob and this is my first time posting on here. -- http://mail.python.org/mailman/listinfo/python-list