10 hours ago, WinterDragon said:it (the program) focuses alot on indentation, so I've been fixing that alot.
It does indeed, I don't know how your editor reacts on TABs, but if they don't automagically expand to spaces, getting indentation right is complicated. Find a better editor if this is the case.
10 hours ago, WinterDragon said:man I miss line numbers.
I don't know what text editor you use, but if the current one doesn't work for you, find a different one. I am not using Windows, but I heard Notepad++ to be nice, no doubt there are others too.
10 hours ago, WinterDragon said:I may need to go back to the book about the correct way to use while loops and define functions/methods?
These things are independent of each other. A while loop repeats its inner body until the condition at the top becomes False, or you execute the "break" statement in that body.
A function definition gives a sequence of statements (a body) a name, so you can call (use) it from anywhere by saying the same name again. You leave a function body either by reaching the end of the body or by executing the "return" statement.
The problem of how to divide your code between different functions is not always clear, but there are general guide lines. A function definition should not be too long (a number is hard to give, but let's say 50-70 lines is usually a good maximum), and it should be mostly independent (so you don't have a zillion variables going in through the parameter list, and a zillion out through the return statement).
Functions work best if you need the same code at several places. You can then simply call that code by the name of the function instead of doing a verbatim copy of the code (which is pretty much deadly if you ever need to change the code).
10 hours ago, WinterDragon said:the error I'm struggling with is it doesn't print anything on the screen when the program starts.
Maybe you only have "def" things, and no main code? ie
def myfunc():
print("Hello!")
other_func("world")
def other_func(w):
print(w)
While this looks complete, there is no "myfunc()" call at the bottom, so it never starts.
EDIT: Maybe make a very small example, with 2 choices (1 is also possible, but a bit silly), and you can only buy 1 thing or so (or just print("buy thing") instead of the administration of actually buying anything). Having a small example is easier to understand and to discuss if you don't find the answer.