Deutsch   English   Français   Italiano  
<626a5059$0$26337$426a34cc@news.free.fr>

View for Bookmarking (what is this?)
Look up another Usenet article

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 <yves@free.invalid>
Subject: Re: Statistiques de base : Moyenne
Newsgroups: fr.comp.lang.python
References: <AP2dnc1uBZlV1Pf_nZ2dnUU7_8zNnZ2d@giganews.com>
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 <module>
> 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