Python obtendo erros de entrada do usuário

Eu tenho um programa simples que solicita ao usuário digitar o número entre 1-9 e se o número foi inserido anteriormente, ele irá pedir ao usuário para inserir outro número. O usuário tem 10 tentativas ou tentativas.

Isso é apenas parte do que eu queria fazer, mas estou tendo problemas em passar o parâmetro do método getNum para o método que o chama. Se eu digitar o número entre 1 e 9, não há problema. O problema começa quando eu digitei o número inserido anteriormente e os prompts solicitam outro 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 

Alguém pode me deixar saber o que eu fiz de errado aqui?

questionAnswers(3)

yourAnswerToTheQuestion