Deutsch   English   Français   Italiano  
<87o86nhx3h.fsf@universite-de-strasbourg.fr.invalid>

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

Path: ...!weretis.net!feeder6.news.weretis.net!feeder8.news.weretis.net!news.mixmin.net!aioe.org!NmhHF3GLbzxJR67/r10DhQ.user.46.165.242.75.POSTED!not-for-mail
From: Alain Ketterlin <alain@universite-de-strasbourg.fr.invalid>
Newsgroups: fr.comp.lang.python
Subject: Re: programme qui ne marche pas
Date: Sun, 14 Nov 2021 11:04:34 +0100
Organization: =?utf-8?Q?Universit=C3=A9?= de Strasbourg
Message-ID: <87o86nhx3h.fsf@universite-de-strasbourg.fr.invalid>
References: <VICdnQxKE4sajBL8nZ2dnUU798zNnZ2d@giganews.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Injection-Info: gioia.aioe.org; logging-data="35008"; posting-host="NmhHF3GLbzxJR67/r10DhQ.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org";
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux)
Cancel-Lock: sha1:A0X95cvIgDeqsu9UeYN2TRYHwyU=
X-Notice: Filtered by postfilter v. 0.9.2
Bytes: 4381
Lines: 89

chuxfkuu <nospam_benfraihaaicha@gmail.com.invalid> writes:

> On supposera ici que les =C3=A9l=C3=A9ments des listes utilis=C3=A9es son=
t tous de m=C3=AAme type.
> Soit le code suivant :
> def so(liste) :
>     s=3D0
>     for e in liste :
>         for i in e :
>                if i%2=3D=3D0 :
>                       s=3Ds+i
> li=3Deval(input())
> print(so(li))

> R=C3=A9pondez aux questions suivantes :
> Pour que le programme fonctionne :
> a) Quel devrait =C3=AAtre le type de la variable i ? Expliquez comment on=
 peut le
> d=C3=A9duire.
> b) Quel devrait =C3=AAtre le type de la variable e ? Expliquez comment on=
 peut le
> d=C3=A9duire.
> c) Quel devrait =C3=AAtre le type de la variable liste ? Expliquez comment
> on peut le d=C3=A9duire.
> d) Quel devrait =C3=AAtre le type de la variable li ? Expliquez comment o=
n peut le
> d=C3=A9duire.
> e) Quel devrait =C3=AAtre le type de la variable s ? Expliquez comment on=
 peut le
> d=C3=A9duire.

Pour "deviner" le type des variables, il faut regarder ce qu'on fait
avec. Pour les variables de ton programme :

- s re=C3=A7oit la valeur z=C3=A9ro et on lui additionne i
- i est un =C3=A9l=C3=A9ment de la liste e ; on peut calculer sa parit=C3=
=A9 (son
  modulo 2)
- e est un =C3=A9l=C3=A9ment de la liste liste

On sait que e et liste sont des listes parce qu'on fait "for e in liste"
et "for i in e" : on peut faire cela uniquement quand la variable nomm=C3=
=A9e
apr=C3=A8s le "in" est une liste (en fait il y d'autres possibilit=C3=A9s, =
mais
dans cet exercice c'est un argument suffisant). On voudrait savoir : des
listes de quoi ? Pour s et i, on sait ce qu'on fait avec, donc on sait
de quel type elles doivent =C3=AAtre.

Les trois point ci-dessus permettent de d=C3=A9terminer le type de toutes l=
es
variables dans cet exercice.

> f) Expliquez en une ou deux phrases ce que la fonction devrait faire en
> expliquant le r=C3=B4le de la variable s . Que doit-on
> ajouter pour obtenir le r=C3=A9sultat souhait=C3=A9 ?

Est-ce que le sujet explique ce qu'est ce r=C3=A9sultat souhait=C3=A9 ? (Il
devrait le faire.) A mon avis, le r=C3=A9sultat souhait=C3=A9 est l'afficha=
ge d'un
nombre. Je pense qu'en entrant "[[1,2,3], [4,5,6]]" (sans les quotes)
elle devrait afficher 3.

> g) Donnez un exemple repr=C3=A9sentatif de valeurs pour li et indiquez qu=
elles
> seraient les valeurs successives prises par les
> variables e, i et s.
> h) En l'=C3=A9tat actuel, qu'affiche le programme complet ? Apr=C3=A8s
> modification et sur votre exemple, qu'affiche t'il ?

Il faut que tu ex=C3=A9cutes le programme pour voir ce qui se passe.

> je connais le type des variables i, e, liste, et li mais je ne sais
> pas si =C3=A7a va changer pour que le programme fonctionne.

Cette phrase est incompr=C3=A9hensible : que signifie "=C3=A7a" ? Il vaut m=
ieux
que le type des variables ne change pas, je pense que ce n'est pas =C3=A7a =
la
question.

> pour la question f je crois que la fonction faut qu'elle ins=C3=A8re une
> liste mais je suis pas s=C3=BBre.

Non. La fonction calcule quelque chose (dans la variable s). Tu peux
consid=C3=A9rer que ce calcul est juste (sauf si le sujet pr=C3=A9cise autr=
e chose
=C3=A0 calculer). C'est =C3=A7a qu'on veut voir, et on ne le voit pas.

-- Alain.