J'ai besoin d'une fonction appelée average (a), où a est une liste, et elle renvoie la moyenne des éléments en utilisant la récursivité. Je l'ai résolu avec une fonction auxiliaire appelée sum (qui résout récursivement la somme de tous les éléments d'une liste), mais je veux la résoudre dans la fonction moyenne.
Voici ce que j'ai essayé:Calculer Moyenne de la liste utilisant la récursion en python
def average(a):
if len(a)==1:
return a[0]
else:
return (a[0]+average(a[1:]))/len(a)
print(average([1,2,3]))
Il devrait revenir 2.0 dans ce cas. Le problème ici est que lorsque j'appelle la fonction dans le retour, je divise à nouveau pour len(a)
. Ce n'est pas juste.
C'est agréable de vouloir des choses mais ce n'est pas un service de codage gratuit. Faites une tentative légitime et revenez lorsque vous rencontrez un problème spécifique qui ne peut pas être résolu par débogage et Google. –
def promedio (a): si len (a) == 1: retour d'un [0] autre: retour (un [0] + promedio (a [1:]))/len (a) impression (Promedio ([1,2,3])) Ceci est ma tentative, je sais que le problème est que je ne divise pas le résultat final, je divise dans la division, mais ne sais pas comment le résoudre. Im désolé im nouveau à cela, ne sais pas comment formater mon code! –
Modifier votre question pour contenir toutes les informations pertinentes et nommer pour la réouverture. –