У вас не обрабатывается не совпадение с условием. Не описано что вернуть из функции и по этому при не совпадении условия функция возвращает None:
def F(n):
if n > 2:
return G(n - 2)
Равносильно:
def F(n):
if n > 2:
return G(n - 2)
else:
return None
Но ожидается что из функции вернется число.