Python 3- Asignar grado

Estoy tratando de escribir un programa que lea una lista de puntajes y luego asigne una calificación de letra basada en el puntaje. Defina una función para solicitar al usuario que ingrese puntajes válidos hasta que ingresen un valor centinela -999. La función debe crear una lista y devolver la lista. Sigo obteniendo mi valor centinela -999 en mi lista. ¿Cómo evito esto?

def main():
   grade = getScore()
   abcGrade = getGrade(grade)
   print(grade, "is an", abcGrade)


def getScore():
   grade = []
   while grade != -999:
      grade = int(input("Enter grades (-999 ends): "))
   return grade

def getGrade(grade):
   best = 100
   if grade >= best - 10:
      return 'A'
   elif grade >=  best - 20:
      return 'B'
   elif grade >= best - 30:
      return 'C'
   elif grade >= best - 40:
      return 'D'
   else:
      return 'F'

main()