why is the return of the program not good?

Question:

I’m new to python and there’s a video on Youtube that I watched. I do the exact same code as he but mine doesn’t work and I don’ understand why.
Here’s the code:

MAX_LINES = 3

def deposit():
    while True:
        amount = input("What would you like to deposit? $")
        if amount.isdigit():
            amount = int(amount)
            if amount > 0:
                break
            else:
                print("Amount must be greater than 0. ")
        else:
            print("Please enter a number. ")

    return amount
   
def get_number_of_lines():
     while True:
        lines = input("Enter the number of lines to bet on (1-" + str(MAX_LINES) + ")? ")
        if lines.isdigit():
            lines = int(lines)
            if 1 <= lines <= MAX_LINES:
                break
            else:
                print("Please enter a valid number of lines. ")
        else:
            print("Please enter a number. ")
            
    return lines

There are 3 problems.

  1. Unindent amount does not match previous indent. I have no idea what does that mean
  2. "return" can be used only within a function. As far as I’m concerned I’m using it in the function, copied the first function then pasted it into the second function and somehow it doesn’t work
  3. "lines" is not defined. What dou you mean it’s not defined, I define it in the first line of the function
    https://www.youtube.com/watch?v=th4OBktqK1I
    This video’s code what I’m trying to do

I appreciate any help!

I just simply don’t understand why it works in one and not the other

Asked By: kristof

||

Answers:

  1. You have one space too much in front of while True in function get_number_of_lines().
  2. Yes used in functions to return value
  3. Because function don’t get inside while loop (because of indent problem), lines is never defined, probably this was the problem.

So try fix indent and run again

Answered By: Adrian Kurzeja
Categories: questions Tags: ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.