Если вы не хотите использовать глобальные переменные (ура), вы должны передать свои значения через:
# init the y, the sum and counter to 0
def Rec(x, y=0, s=0 counter=0):
s+=x**y # add to sum
print(s)
# end of recursion, return sum and counter as tuple
if s>X:
return s, counter
# recurse with y and counter one bigger then before
return Rec(x, y+1, s, counter+1)
X=10
s=0
print(Rec(2))
Вывод:
1
3
7
15
(15, 3)