2015-10-24 4 views
1

Je souhaite que la fonction suivante renvoie un tuple pour chaque année, ie. si ses 5 ans cela me donnera un tuple de year1, year2, year3, year4, year5.Rendre la fonction récursive Renvoyer un tuple

def nextSalaryFixed(salary, percentage, growth, years): 
if years == 1: 
     tup = (salary * (percentage * 0.01),) 
     return tup[years-1] 
    else: 
     tup = (nextEggFixed(salary, percentage, growth, years - 1) * ((1 + (0.01 * growth))) + (salary * (percentage * 0.01))) 
     print(tup) 
     return tup 
+0

'nextEggFixed'? qu'est-ce qui est défini comme? – Dair

Répondre

0
result = [] 

def nextSalaryFixed(salary, percentage, growth, years): 
    if years == 1: 
     tup = salary * (percentage * 0.01) 
    else: 
     tup = (nextSalaryFixed(salary, percentage, growth, years - 1) * 
      ((1 + (0.01 * growth))) + (salary * (percentage * 0.01))) 

    result.append((years, tup)) 
    return tup 

nextSalaryFixed(10000, 10, 5, 5) 
result # [(1, 1000.0), (2, 2050.0), (3, 3152.5), (4, 4310.125), (5, 5525.63125)]