Inscription / Connexion Nouveau Sujet
Niveau première
Partager :

fonction diviseur et multiple python

Posté par
koko98752552
14-09-22 à 02:35

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].


                
                                      

Posté par
malou Webmaster
re : fonction diviseur et multiple python 14-09-22 à 07:49

Bonjour

et tu en penses quoi, toi ?

Posté par
flight
re : fonction diviseur et multiple python 14-09-22 à 08:12

bonjour

juste une remarque pour cet enoncé  

Citation :
Par exemple , pour n=4 la fonction renvoie la liste [8,12,16,20].
  
0 et 4 sont aussi des multiples de 4

Posté par
koko98752552
re : fonction diviseur et multiple python 14-09-22 à 19:09

bonjour
oui bien sûr  cependant j'a juste ré- écrit  le devoir maison , ce n'est pas ma réponse

Posté par
koko98752552
re : fonction diviseur et multiple python 14-09-22 à 19:41

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

Posté par
carpediem
re : fonction diviseur et multiple python 14-09-22 à 20:38

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 ...

Posté par
koko98752552
re : fonction diviseur et multiple python 14-09-22 à 21:15

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

Posté par
koko98752552
re : fonction diviseur et multiple python 14-09-22 à 21:16

*pouvez-vous

Posté par
carpediem
re : fonction diviseur et multiple python 14-09-22 à 21:24

koko98752552 @ 14-09-2022 à 21:15

boujour,

def diviseur(n,entier):  ceci signifie que ta fonction demande deux arguments
i=entier  inutile : python reconnait les variables

i = 1
div=[]
while i<n:
    if i / n:   ne va pas : que veux-tu vérifié ?
        div=div+i   revoir les opérations sur les listes
        i=i+1
      
        return div  mauvaise indentation

je n'ai pas trop compris mon erreur me corriger et m'expliquer s'il vous plaît

Posté par
koko98752552
re : fonction diviseur et multiple python 14-09-22 à 21:49

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]

Posté par
koko98752552
re : fonction diviseur et multiple python 14-09-22 à 21:53

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

Posté par
carpediem
re : fonction diviseur et multiple python 14-09-22 à 21:54

t'inquiètes pas je connais mais :

koko98752552 @ 14-09-2022 à 21:49



je voulais dire que si  i  est divisible par n certes mais à traduire en python

, alors ajouter i a la liste.  idem

Posté par
koko98752552
re : fonction diviseur et multiple python 14-09-22 à 23:33

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

Posté par
carpediem
re : fonction diviseur et multiple python 15-09-22 à 08:54

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

Posté par
koko98752552
re : fonction diviseur et multiple python 17-09-22 à 06:55

au merci maintenant ça fonctionne

Posté par
carpediem
re : fonction diviseur et multiple python 17-09-22 à 11:57

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)

Posté par
koko98752552
re : fonction diviseur et multiple python 17-09-22 à 17:58

d'accord merci

Posté par
carpediem
re : fonction diviseur et multiple python 17-09-22 à 18:09

de rien



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Inscription gratuite

Fiches en rapport

parmi 1675 fiches de maths

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !