Programme python
chuxxxflu
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour, je galère depuis 1 semaine sur cet exercice que je comprends toujours pas. pourriez-vous s'il vous plait me rendre service en me guidant.
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()) #eval permet de transformer la chaîne de caractères saisie par sa valeur (une liste par exemple), voir avant-propos de la séance 6 sur PIXAL
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.
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é ?
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 ?
je connais les variables i, e, liste, et li sont de quel type mais je ne sais pas si ça va changer pour que le programme fonctionne.
pour la question f je crois que la fonction faut qu'elle insère une liste mais je suis pas sûre.
veuillez s'il vous plait me donner juste un coup de main parce que je suis complètement perdue.
merci d'avance :)
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()) #eval permet de transformer la chaîne de caractères saisie par sa valeur (une liste par exemple), voir avant-propos de la séance 6 sur PIXAL
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.
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é ?
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 ?
je connais les variables i, e, liste, et li sont de quel type mais je ne sais pas si ça va changer pour que le programme fonctionne.
pour la question f je crois que la fonction faut qu'elle insère une liste mais je suis pas sûre.
veuillez s'il vous plait me donner juste un coup de main parce que je suis complètement perdue.
merci d'avance :)
A voir également:
- Ce programme est écrit en python. il construit un mot secret dans une variable mais il ne l'affiche pas. modifiez-le pour qu'il affiche le mot secret. exécutez-le. quel est ce mot secret ? cette épreuve contient un simulateur.
- Le fichier à télécharger comporte plusieurs calques. l’un d’eux contient un mot caché. quel est ce mot ? - Forum Téléchargement
- Un document .docx est, en réalité, composé de plusieurs fichiers. dans le fichier à télécharger, trouvez le fichier secret. quel mot contient-il ? ✓ - Forum Windows
- Quel est le mot secret en c7 ✓ - Forum Excel
- Trousseau mot de passe iphone - Guide
- Mot de passe - Guide
23 réponses
Bonjour
En Python, l’indentation est primordiale, or par défaut le site ne la conserve pas.
Pour la conserver il faut utiliser les balises de code. Voir ce petit tuto https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
On pourra commencer à essayer de t’aider quand tu auras reposté correctement ton code.
En Python, l’indentation est primordiale, or par défaut le site ne la conserve pas.
Pour la conserver il faut utiliser les balises de code. Voir ce petit tuto https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
On pourra commencer à essayer de t’aider quand tu auras reposté correctement ton code.
def so(liste) :
s=0
for e in liste :
for i in e :
if i%2==0 :
s=s+i
li=eval(input()) #eval permet de transformer la chaîne de caractères saisie par sa valeur (une liste par exemple), voir avant-propos de la séance 6 sur PIXAL
print(so(li))
je crois que le code est écrit correctement maintenant !
(merci pour le tuto)
je connais les variables i, e, liste, et li sont de quel type mais je ne sais pas si ça va changer pour que le programme fonctionne.
Savoir quels sont les types de ces variables est nécessaire pour répondre à
Expliquez en une ou deux phrases ce que la fonction devrait faire en expliquant le rôle de la variable s
Parce que c’est grâce à cela que tu peux savoir ce qu’il faut mettre en entrée.
Si ce qui est en entrée n’est pas ce qui est attendu ton programme ne fonctionnera pas.
Ce n’est pas suffisant pour répondre à
Que doit-on
ajouter pour obtenir le résultat souhaité ?
Mais si tu rentres n’importe quoi, même si tu as trouvé ce qu’il faut ajouter tu n’auras pas le résultat attendu
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Oui i est un entier, mais non, il ne faut pas ajouter un int().
Puisque i est un entier qu’est ce que peut être e?
Puisque i est un entier qu’est ce que peut être e?
Ha ça peut-être.
Cependant je n'ai pas trouvé une façon de représenter un intervalle de façon à ce que eval() l'accepte. Cela dit, je ne code pas en Python et avant ta question je ne connaissais pas eval().
Il est donc possible qu'un intervalle puisse lui être donné en entrée. Mais pas "1 to 4".
Si dans le cours cité, on t'explique comment passer un intervalle dans eval(), alors oui e peut être un intervalle.
Si tu n'as pas cette information, alors un faut trouver une autre structure de donnée qui sera acceptée par eval.
Cependant je n'ai pas trouvé une façon de représenter un intervalle de façon à ce que eval() l'accepte. Cela dit, je ne code pas en Python et avant ta question je ne connaissais pas eval().
Il est donc possible qu'un intervalle puisse lui être donné en entrée. Mais pas "1 to 4".
Si dans le cours cité, on t'explique comment passer un intervalle dans eval(), alors oui e peut être un intervalle.
Si tu n'as pas cette information, alors un faut trouver une autre structure de donnée qui sera acceptée par eval.
pour li j’en ai aucune idée, tout ce que je sais c’est que eval c’est une evaluation dynamique de la fonction
li est passé en paramètre à la fonction so. Donc li et liste sont « la même chose »
A partir de e tu peux déduire liste et donc li
A partir de e tu peux déduire liste et donc li
Je ne pense pas que ce soit pertinent pour cet exercice de savoir si c’est immuable ou mutable car le code n’essaye pas de modifier liste
Concentre toi sur cette ligne
Tu sais que e est une liste (une liste d’entiers précisément) que peut donc être le le type de liste ?
Concentre toi sur cette ligne
for e in liste :
Tu sais que e est une liste (une liste d’entiers précisément) que peut donc être le le type de liste ?
Non si liste était une liste d’entiers alors e serait un entier.
Qu’est ce qui pourrait avoir comme élément unitaire une liste d’entiers ?
Qu’est ce qui pourrait avoir comme élément unitaire une liste d’entiers ?
le programme doit définir une fonction so(liste), on initialise s à 0. il doit rajouter i (un entier) à s si i est divisible par 2 et si e est dans la liste des listes des entiers. il doit afficher le résultat s ( il faut ajouter le return) et apres eval va permettre de transformer la chaine de caractère par la valeur et enfin le print va permettre d’afficher le résultat.