maths info: dur la reprise: ne 'return' rien

Un problème, une question, un nouveau théorème ?

Messages : 0

Inscription : 03 sept. 2017 12:56

Profil de l'utilisateur : Élève de lycée

Re: maths info: dur la reprise: ne 'return' rien

Message par mik2000 » 12 sept. 2017 13:56

j ai la version mac de Spyder donc cest sans emulateur
pareil pour Idle, c est du OS X, pas linux

Messages : 0

Inscription : 04 déc. 2013 16:01

Profil de l'utilisateur : Élève de lycée

Re: maths info: dur la reprise: ne 'return' rien

Message par jmctiti » 12 sept. 2017 14:06

mik2000 a écrit :
12 sept. 2017 13:53

def ajout(x,l):
return l.append(l)
Tout d'abord, ce serait mieux de mettre l.append(x)

Ensuite, si tu avais regardé une doc, tu aurais vu que
l.append(x) ajoute x à l, mais ne retourne rien (d'où le 'none').

Pour ce que tu veux faire, il suffit donc d'écrire
def ajout(x,l):
l.append(x)
return(l)
(avec la bonne indentation)

Avant de chercher à incriminer le matériel (Mac) ou le logiciel (Spyder),
il est bon de consulter la documentation !
Dernière modification par jmctiti le 12 sept. 2017 14:08, modifié 1 fois.

Messages : 0

Inscription : 04 déc. 2013 16:01

Profil de l'utilisateur : Élève de lycée

Re: maths info: dur la reprise: ne 'return' rien

Message par jmctiti » 12 sept. 2017 14:07

mik2000 a écrit :
12 sept. 2017 13:54
mon mac a les accents francais oui
donc quand python verifie le code, il le valide, il n y a pas de message d erreur
Je ne parlais pas de Python, mais de tes messages, où il n'y a ni accent, ni apostrophe.

Messages : 0

Inscription : 03 sept. 2017 12:56

Profil de l'utilisateur : Élève de lycée

Re: maths info: dur la reprise: ne 'return' rien

Message par mik2000 » 12 sept. 2017 14:09

okay jm t es sympa mais c est quoi la difference ? car tu dis que
l.append(x) ne renvoie rien mais justement j ai mis un return

return X="python, renvoie moi ca X"
non ?

Messages : 0

Inscription : 03 sept. 2017 12:56

Profil de l'utilisateur : Élève de lycée

Re: maths info: dur la reprise: ne 'return' rien

Message par mik2000 » 12 sept. 2017 14:11

je vais deja essayer ce que tu dis pour voir si ca marche :)

Messages : 0

Inscription : 03 sept. 2017 12:56

Profil de l'utilisateur : Élève de lycée

Re: maths info: dur la reprise: ne 'return' rien

Message par mik2000 » 12 sept. 2017 14:12

oui bien sur cest
l.append(x)
j avais fait une erreur de frappe

Messages : 0

Inscription : 04 déc. 2013 16:01

Profil de l'utilisateur : Élève de lycée

Re: maths info: dur la reprise: ne 'return' rien

Message par jmctiti » 12 sept. 2017 14:17

Tu regardes la doc de temps en temps ?

Il suffit de demander à notre cher GOOGLE (ou mieux à Qwant) de chercher
python append
pour tomber sur la page
https://www.tutorialspoint.com/python/list_append.htm
qui explique tout.

Il faut apprendre à devenir autonome !

Messages : 5112

Inscription : 27 juil. 2016 19:38

Profil de l'utilisateur : Professionnel

Re: maths info: dur la reprise: ne 'return' rien

Message par U46406 » 12 sept. 2017 14:54

Il devait être sacrément fatigué tout à l'heure pour son erreur de frappe, parce que dans son premier message à 13 h 27 min, il avait bon sur sa syntaxe append ... :mrgreen:

Et sinon merci au prof jmctiti pour avoir expliqué ce que return fait / renvoie comme résultat.
« Occupez-vous d’abord des choses qui sont à portée de main. Rangez votre chambre avant de sauver le monde. Ensuite, sauvez le monde. » (Ron Padgett, dans Comment devenir parfait) :mrgreen:

Messages : 3823

Inscription : 17 avr. 2012 21:19

Profil de l'utilisateur : Élève de lycée

Re: maths info: dur la reprise: ne 'return' rien

Message par bullquies » 12 sept. 2017 16:32

tu dis "return", mais return quoi ?

Si tu veux récupérer la liste, il faut que tu return la liste, pas None :)

Je comprends pourquoi tu pensais que ça aurait pu marcher, puisque si tu dis return 3+4 tu récupères bien 7.

Mais implicitement ici 3+7 est un nombre. Alors que l.append(x)...n'est rien. Ce n'est pas une liste, un tableau, un float, rien. Donc si tu return ça, tu n'obtiendras rien :)


Edit: et si tu y penses bien, est-ce que ta fonction serait utile si elle était exactement équivalente à append?
The Axiom of Choice is obviously true, the Well-Ordering Principle is obviously false, and nobody knows about Zorn's Lemma. - Jerry Bona

Messages : 41

Inscription : 16 juil. 2012 11:33

Profil de l'utilisateur : Élève de lycée

Re: maths info: dur la reprise: ne 'return' rien

Message par Nicolas G » 12 sept. 2017 16:57

Quand tu fais l.append(x) tu rajoutes x à l, mais c'est l'action de rajouter x, ce n'est pas l, l n'est pas renvoyé par append, il est juste modifié. Du coup il faut faire l.append(x), on obtient un nouveau l qu'on retourne avec return l. C'est peut-être étrange parce qu'en prépa on ne voit pas la programmation orientée objet (mais la plupart des écoles d'ingé ont des cours l'expliquant).

EDIT : J'avais pas vu le message de bullquies, on a dit globalement la même chose de manière un peu différente, du coup j'espère que l'auteur comprendra au moins une des deux explications :wink:
Lycée Masséna PCSI 833 PSI 935 3/2 5/2 (2012-2015)
ENSIMAG (2015-2018) Master en mathématiques appliquées MSIAM (2016-2018)
Doctorat en mathématiques appliquées (tomographie médicale) (2018-20XX)

Répondre