If you put your code in a function, then the interpreter will wait until you've defined the function and called it to actually execute your code. But you will still have to call the function yourself.
def foo(): print "Stop!" s = raw_input("What is your name? ") print "You may pass,", s# and laterfoo()
In fact, if you put that in a .py file and execute it, it will do what you want.
The interpreter is useful when you want to test things out, as it lets you load up a program and call the functions yourself, modify the variables, etc. But it's probably not the environment you would want your players to interact with. You want them to play your game, not call its functions by hand. [grin]
On the other hand, I do most of my work in the python interpreter itself. I have built a library of routines that support my needs and use the intepreter essentially as an advanced programmable calculator.
"Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it." — Brian W. Kernighan