Python liste de carrés d'un nombre entier
Bonsoir,
Je ne comprends pas pourquoi le programme ne donne pas la liste voulue...
Je ne comprends pas pourquoi le programme ne donne pas la liste voulue...
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
C'est peut-être cela que vous souhaitez faire. En fait, vous n'avez mis qu'un seul élément dans votre liste l. 0, 1, 4 et 9 sont bien des carrés.
Cordialement,
Denise Chemla
[Pour afficher du code python, IL FAUT utiliser le bouton "Code" (5ème par la droite au dessus de la fenêtre d'édition. AD]
Sans le module numpy on peut aussi créer la liste l grâce à : Si on écrit juste "l=[0]*(N+1)" alors tous les éléments de la liste renvoient vers la même variable ; donc modifier un élément modifie tous les autres.
Et à la fin tu as écrit "return 1" au lieu de "return l".
pourquoi compliquer quand on peut faire simple
Ceci : ne poserait aucun problème car 0 (comme tout entier) est un objet immutable. Il est impossible de le modifier en place. Si tu remplaces un 0 de cette liste par autre chose qui n'est pas 0, l'objet mis à la place du 0 aura forcément une autre adresse, donc les autres slots de la liste (qui contiennent chacun l'adresse de 0) ne seront pas affectés.
Le problème auquel tu penses concerne les objets « mutables » (listes, ensembles autres que frozenset(), dictionnaires...).
-- Schnoebelen, Philippe
Plus simple: Ou:
Cordialement,
Rescassol
-- Schnoebelen, Philippe
Il faut dire que la phrase:
> Je ne comprends pas pourquoi le programme ne donne pas la liste voulue...
ne dit pas ce qu'est la liste voulue.
Il devrait comprendre qu'on est pas dans sa tête.
Cordialement,
Rescassol
La remarque est cependant bonne : éviter d'employer le l (L minuscule)
Il faut que j'apprenne la commande "append" ça a l'air intéressant.
Voici l'énoncé pour ceux qui sont curieux.
@Bisam
Merci ça a résolu mon problème et j'obtiens la liste [1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0]