What you're doing here with your main_prompt() and other functions is a recursive strategy. This works but is a little dangerous, as every time you call a new function you're allocating a little more memory. Eventually, if the program runs for a long time, this could fill up your system. A better design is to use a while True: loop like you do within your main_prompt function, letting any function you call exit, and returning to that same loop.

The other thing I'd want to point out to you are that sometimes you're calling ```main_prompt()``` and sometimes you're asking a function to ```return main_prompt()```. Since it looks like all your functions are returning None, the return part of that seems unnecessary as well.