Hola
Ramispain!
Si te arroja el error "not a number", donde esta declarada tu variable "numero", es de tipo Number?, en la condición del bucle while, yo no veo que nunca sea falsa esa condición, en ningún punto la modificas para romperla.
Un saludo!