Os dois outputs retornam 'None'.
Imagino que seja um problema semelhante para os dois casos...
1 - Primeira função:
def add(x,y):
if(y==0):
return x
else:
add(x+1,y-1)
print(add(5,4))
2 - Segunda função (raiz digital):
def n2vector(n):
strn = str(n)
vetlet = []
for letra in strn:
vetlet.append(int(letra))
return vetlet
def rd(n,soma=0):
vet = n2vector(n)
#print(vet)
for i in vet:
soma = soma+i
#print(soma)
if(soma>9):
rd(soma)
else:
return soma
print(rd(567))