Python obteniendo errores de entrada del usuario

Tengo un programa simple que le pide al usuario que ingrese el número entre 1-9 y si el número se ingresó anteriormente, le pedirá al usuario que ingrese otro número. El usuario tiene 10 intentos o intentos.

Esto es solo una parte de lo que quería hacer, pero tengo problemas para pasar el parámetro del método getNum al método que lo llama. Si ingreso el número entre 1-9, no tiene ningún problema. El problema comienza cuando ingresé el número ingresado anteriormente y las indicaciones solicitan otro número.

def getNum(numList):
    num = input("Pick your number: ")

    if num <= 0 or num >9:
        print 'Invalid number. Please try again.'
        getNum()

    if num in numList:
        print 'Number taken. Please try again.'
        getNum()

    else: 
        return num  

inputList = []
endGame = True
choice = 0  
attempts = 0 
while endGame == False or attempts < 10:

    userNum = getNum(inputList)
    print 'Number entered:', userNum
    inputList.append(userNum)
    print inputList

    attempts += 1 

¿Alguien puede hacerme saber lo que hice mal aquí?

Respuestas a la pregunta(3)

Su respuesta a la pregunta