Home > Enterprise >  self defined Function does not work - probably mistake in understanding how they work (Python)
self defined Function does not work - probably mistake in understanding how they work (Python)

Time:01-07

I am trying myself in functions right now to make my code shorter. Unfortunetly when I ran the code I get a name error with the variable I want to calculate in the function. My goal is to calculate the row number depending on the value of the cycle variable.

def row_number_calculater(cycle):
    if 1 <= cycle <=   40:
        row = 0
    elif 41 <= cycle <= 80:
        row = 1
    elif 81 <= cycle <= 120:
        row = 2

    return row

later in the code I use the function like this ( this is just a cut out of the code):

for i in data:
    cycle  =1
    row_number_calculater(cycle)
    if i == "noop":  
        if ((cycle-1)-(row*wide)) == X or ((cycle-1)-(row*wide)) == (X-1) or ((cycle-1)-(row*wide)) == (X 1):
            Picture[row][(cycle-1)-(row*wide)] = "#"
        else:
            Picture[row][(cycle-1)-(row*wide)] = "." 

Anyway I get the a Name error for row. Now I wonder what I missunderstand in how the functions work... because somehow it does not safe the variable row that I can work with it later on.

I am happy for any help!

CodePudding user response:

You are not storing the value of the row when calling the func, use:

row = row_number_calculater(cycle)
  • Related