Search code examples
pythonfunctioncall

Python: call a function inside another function


regardless of what the functions have to return, my code seems to not call the first function properly, as when I try to pass some doctest it raises the error:

File "preg3.py", line 27, in mesDivisions
        if nombreDivisions(llista[0],m)>=nombreDivisions(llista[1],m):
    NameError: global name 'nombreDivisions' is not defined

here is my code:

def nombreDivisons(n,m):
  x=0
def aux(n,m):
  if n<m:
     return x
  else:
     if n%m==0:
        x=x+1
        return aux(n/m,m)
     else:
        return x

def mesDivisions(llista,m):

  if len(llista)==1:
     return llista[0],nombreDivisions(llista[0],m)
  else:
     if nombreDivisions(llista[0],m)>=nombreDivisions(llista[1],m):
        del llista[1]
        return mesDivisions(llista,m)
     else:
        del llista[0]
        return mesDivisions(llista,m)

any ideas why?


Solution

  • Check your white space. You want at least one and according to pep8 two blank lines between functions.

    You failure is a typo though. It should be nombreDivisions but you left out the i so it is nombreDivisons.