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 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: 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 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.