Explication d'une fonction
Bonjour a tous,
je souhaiterais avoir quelque précision sur une fonction que j'ai récupéré sur wikipédia, mais dont je ne comprend pas certains points.
En effet, nous voyons bien que c'est une fonction récursive et que l'on déclara à l'aide de lambda une sous fonction sur la même ligne.
Mais ce que je ne comprend pas c'est la conditionnelle et la boucle for passé en paramètre dans erato().
Code:
1 2 3 4
|
def eratosthene(n):
erato = lambda l: l and [l[0]] + erato([i for i in l if i%l[0]])
return erato(range(2,n+1)) |
Voilà je souhaiterais quelque précision.
Et aussi avec cette fonction je souhaiterais trouver les nombres premiers jumeaux.