Je suis nouveau sur Python. Pourriez-vous me dire ce qui ne va pas avec le code suivant? Lorsque je l'exécute, je reçois un message d'erreur de "NameError: le nom global 'réduire' n'est pas défini". J'ai demandé à Goolge mais c'est inutile. :(
def main():
def add(x,y): return x+y
reduce(add, range(1, 11))
if __name__=='__main__':
main()
Je vais deviner que:
La fonction reduce
, car elle n'est pas couramment utilisée, a été supprimée des fonctions intégrées dans Python 3. Elle est toujours disponible dans le module functools
, vous pouvez donc faire:
import functools
def main():
def add(x,y): return x+y
functools.reduce(add, range(1, 11))
Aussi
# Import reduce from functools
from functools import reduce
Vous permet d'utiliser reduce
comme s'il s'agissait d'une fonction intégrée.
def main():
def add(x,y): return x+y
reduce(add, range(1, 11))