Path: ...!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!cleanfeed3-a.proxad.net!nnrp6-1.free.fr!not-for-mail From: yves Subject: Re: Statistiques de base : Moyenne Newsgroups: fr.comp.lang.python References: User-Agent: Pan/0.144 (Time is the enemy; 28ab3ba git.gnome.org/pan2) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Date: 28 Apr 2022 08:29:13 GMT Lines: 42 Message-ID: <626a5059$0$26337$426a34cc@news.free.fr> Organization: Guest of ProXad - France NNTP-Posting-Date: 28 Apr 2022 10:29:13 CEST NNTP-Posting-Host: 89.226.117.233 X-Trace: 1651134553 news-4.free.fr 26337 89.226.117.233:60704 X-Complaints-To: abuse@proxad.net Bytes: 1700 Le Thu, 28 Apr 2022 03:01:12 -0500, Mestemaiun a écrit: > ERREUR : Retraçage : > dans > NameError : nom 'nums' n’est pas défini C'est parce que le programme principal ne voit rien de ce qui est interne à la fonction. C'est normal, c'est voulu, c'est un principe architectural de python. ainsi quand tu écris: ***** def mean(num): nums = [1, 6, 6, 7, 8, 8, 9, 10, 10] a = sum(nums) print(a) *** Quand tu introduis "nums" (ligne a = sum(nums)), "nums" est complètement inconnu de ton programme "principal", et Python se plaint. Si tu écris: *** nums = [1, 6, 6, 7, 8, 8, 9, 10, 10] a = sum(nums) print(a) **** nums est bien défini dans la première ligne, le programme "principal" le connaît, et Python ne se plaint pas. @+ -- Yves