bonjour
fonction diviseurs ( n : entier ) : liste d'entiers
variables locales
i : entier
div : liste d'entiers
début fonction
i← 1
div ← liste vide
Tant que i < n
Si i divise n alors
ajouter i à la liste div
FinSi
i ← i + 1
Fin tant que
Retourner div
fin fonction
a) programmer le pseudo-Code ci-dessus.
c) Ré - écrire la fonction diviseurs en remplaçant la boucle "tant que" par une boucle " pour"
d)En vous inspirant de la fonction diviseur, écrire en pseudo-code puis en code python la fonction multiples ayant comme paramètre un entier n et inférieur ou égale à 20.
Par exemple , pour n=4 la fonction renvoie la liste [8,12,16,20].
bonjour
juste une remarque pour cet enoncé
Bonjour
pour le premier exercices j'ai fais le code ci-dessous, mais ça ne fonctionne pas et pour répondre au autres questions il faut avoir fait la première
def diviseur(n:entier):liste
i:entier
div:liste
i = 1
div=[]
while i<n:
if i / n:
div=div+i
i=i+1
return div
salut
normal que ça ne fonctionne pas : tu ne connais pas la syntaxe python ... que tu peux trouver sur internet ou dans ton livre ...
je t'indique toutes les lignes qui ne vont pas : 1 2 3 (inutile d'après la ligne 6) 8 9
et en particulier l'indentation est farfelue ...
boujour,
def diviseur(n,entier):
i=entier
i = 1
div=[]
while i<n:
if i / n:
div=div+i
i=i+1
return div
je n'ai pas trop compris mon erreur me corriger et m'expliquer s'il vous plaît
if i / n:
div=div+i
i=i+1
je voulais dire que si i est divisible par n , alors ajouter i a la liste.
puis recommencer la boucle en rajoutant 1à i.
exemple avec ce tableau de suivi qui à comme paramètre n=6 .
i 1 2 3 4 5
div [1] [1,2] [1,2,3] [1,2,3] [1,2,3]
1 est divisible par 6 donc on rajoute 1 à la liste ,2 est divisible par 6 donc on le rajoute a la liste, 3 est divisible par 6 donc on le rajoute à la liste, 4 n'est pas divisible par 6 donc on le rajoute pas à la liste ect
t'inquiètes pas je connais mais :
def diviseur(n,entier):
i=entier
i = 1
div=[]
while i<n:
if i%n == 0 :
div.append(i)
else:
i=i+1
return div
voilà mais ça ne fonctionne toujours
pas
ok c'est mieux mais ça ne va pas en particulier à cause de l'indentation essentiellement et de ce rajout du else ... et qu'ai-je écrit à 21h24 ?
def diviseur(n) :
i = 1
div=[]
while i < n :
if i%n == 0 :
div.append(i)
i=i+1
return div
de rien
je te l'ai donné car tu avais fait des efforts mais il faut être plus rigoureux : dans ta dernière proposition c'est l'indentation qui n'allait pas (et ce else inutile : dans tu les cas tu dois avancer de 1)
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :