Во-первых, разрывная линия выходит из l oop, в вашем случае при выходе из l oop также происходит выход из функции. return -1
оператор выходит из функции, поэтому вы не должны использовать его, если хотите получить ввод пользователя независимо от того, что пользователь вводит в первый раз и так далее. Правильный код будет выглядеть следующим образом.
def func(val):
num = int(input("Enter a number:"))
while(num!=val):
if num < val:
print ("Too low!")
num = int(input("Try again: "))
elif num > val:
print ("Too high!")
num = int(input("Try again: "))
else:
print ("Got it!!!")
return 0
func(20)
PS Идентификация очень важна в Python, поэтому правильно подбирайте код.