Re: programme qui ne marche pas

Liste des GroupesRevenir à fcl python 
Sujet : Re: programme qui ne marche pas
De : alain (at) *nospam* universite-de-strasbourg.fr.invalid (Alain Ketterlin)
Groupes : fr.comp.lang.python
Date : 14. Nov 2021, 12:04:34
Autres entêtes
Organisation : Université de Strasbourg
Message-ID : <87o86nhx3h.fsf@universite-de-strasbourg.fr.invalid>
References : 1
User-Agent : Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux)
chuxfkuu <nospam_benfraihaaicha@gmail.com.invalid> writes:

On supposera ici que les éléments des listes utilisées sont tous de même type.
Soit le code suivant :
def so(liste) :
    s=0
    for e in liste :
        for i in e :
               if i%2==0 :
                      s=s+i
li=eval(input())
print(so(li))

Répondez aux questions suivantes :
Pour que le programme fonctionne :
a) Quel devrait être le type de la variable i ? Expliquez comment on peut le
déduire.
b) Quel devrait être le type de la variable e ? Expliquez comment on peut le
déduire.
c) Quel devrait être le type de la variable liste ? Expliquez comment
on peut le déduire.
d) Quel devrait être le type de la variable li ? Expliquez comment on peut le
déduire.
e) Quel devrait être le type de la variable s ? Expliquez comment on peut le
déduire.

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

- s reçoit la valeur zéro et on lui additionne i
- i est un élément de la liste e ; on peut calculer sa parité (son
  modulo 2)
- e est un élément 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ée
après le "in" est une liste (en fait il y d'autres possibilités, 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 être.

Les trois point ci-dessus permettent de déterminer le type de toutes les
variables dans cet exercice.

f) Expliquez en une ou deux phrases ce que la fonction devrait faire en
expliquant le rôle de la variable s . Que doit-on
ajouter pour obtenir le résultat souhaité ?

Est-ce que le sujet explique ce qu'est ce résultat souhaité ? (Il
devrait le faire.) A mon avis, le résultat souhaité est l'affichage 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ésentatif de valeurs pour li et indiquez quelles
seraient les valeurs successives prises par les
variables e, i et s.
h) En l'état actuel, qu'affiche le programme complet ? Après
modification et sur votre exemple, qu'affiche t'il ?

Il faut que tu exécutes 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 ça va changer pour que le programme fonctionne.

Cette phrase est incompréhensible : que signifie "ça" ? Il vaut mieux
que le type des variables ne change pas, je pense que ce n'est pas ça la
question.

pour la question f je crois que la fonction faut qu'elle insère une
liste mais je suis pas sûre.

Non. La fonction calcule quelque chose (dans la variable s). Tu peux
considérer que ce calcul est juste (sauf si le sujet précise autre chose
à calculer). C'est ça qu'on veut voir, et on ne le voit pas.

-- Alain.

Date Sujet#  Auteur
13 Nov 21 * programme qui ne marche pas3chuxfkuu
13 Nov 21 +- Re: programme qui ne marche pas1Pascal en Trophy
14 Nov 21 `- Re: programme qui ne marche pas1Alain Ketterlin

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal