Comentários?
Qual o consumo de tempo da função some_par_impar_recursiva()?
def main(): '''(None) -> None Lê um inteiro n >=0 e uma sequência de n números inteiros e imprime a soma dos números pares e a soma dos números ímpares da sequência. ''' n = int(input("Digite o número de elementos da sequência: ")) v = [] for i in range(0,n,1): print("Digite o %do. número: " %(i+1), end="") num = int(input()) v.append(num) soma_par, soma_impar = some_par_impar_recursiva(v,n) print("soma par = %d, soma impar = %d" %(soma_par,soma_impar)) def some_par_impar_recursiva(v, n): '''(list, int) -> int, int Recebe uma lista v de números inteiros e um inteiro n e retorna dois valores, a soma dos números pares e a soma dos números ímpares em v[0:n]. Exemplos: >>> some_par_impar_recursiva([2,-5,7,12,15,7],2) 2, -5 >>> some_par_impar_recursiva([2,-5,7,12,15,7],3) 2, 2 >>> some_par_impar_recursiva([2,-5,7,12,15,7],4) 14, 2 >>> some_par_impar_recursiva([2,-5,7,12,15,7],6) 14, 24 ''' if n == 0: # base return 0, 0 soma_par, soma_impar = soma_par_impar_recursiva(v,n-1) if v[n-1] % 2 == 0: soma_par += v[n-1] else: soma_impar += v[n-1] return soma_par, soma_impar
Python 3.4.3 |Anaconda 2.3.0 (32-bit)| (default, Jun 4 2015, 15:28:02) [GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux Type "help", "copyright", "credits" or "license" for more information. >>> >>> main() Digite o número de elementos da sequência: 6 Digite o 1o. número: 2 Digite o 2o. número: -5 Digite o 3o. número: 7 Digite o 4o. número: 12 Digite o 5o. número: 15 Digite o 6o. número: 7 soma par = 14, soma impar = 24 >>> some_par_impar_recursiva([],0) (0, 0) >>> some_par_impar_recursiva([2,-5,7,12,15,7],0) (0, 0) >>> some_par_impar_recursiva([2,-5,7,12,15,7],2) (2, -5) >>> some_par_impar_recursiva([2,-5,7,12,15,7],1) (2, 0) >>> some_par_impar_recursiva([2,-5,7,12,15,7],3) (2, 2) >>> some_par_impar_recursiva([2,-5,7,12,15,7],4) (14, 2) >>> some_par_impar_recursiva([2,-5,7,12,15,7],5) (14, 17) >>> some_par_impar_recursiva([2,-5,7,12,15,7],6) (14, 24) >>> some_par_impar_recursiva([2,-5,7,12,15,7],6)