Page 1 of 1

Diviseurs d'un nombre : idiv.py

Unread postPosted: 27 Mar 2021, 13:37
by ggauny@live.fr
Bonjour,
J'ai tenté d'émuler la fonction IDIV de la HP Prime (créée par M Parisse).
Ca fonctionne.
Bonne journée

Code: Select all
# Constantes
P , I = print, input
TEXTE = """lister les diviseurs d'un nombre ENTIER
Merci d'indiquer le nombre à décomposer en ses diviseurs"""

P(TEXTE)

n = int(I("nombre ? "))

def idiv(n):
  D = []
  for i in range(1, int(n**0.5) + 1):
    if n % i == 0:
      D.append(i)
      D.append(n//i)
  return sorted(set(D))

P(idiv(n))



J'ai tenu compte des conseils que l'on m'a donné ici (Bisam) :)

Re: Diviseurs d'un nombre : idiv.py

Unread postPosted: 27 Mar 2021, 17:51
by Bisam
Visiblement, tu as oublié de conserver l'indentation au moment de ton "copier-coller"... mais j'ai corrigé cela.
J'ai aussi corrigé l'erreur de nom de variable (d qui devient D).

Re: Diviseurs d'un nombre : idiv.py

Unread postPosted: 27 Mar 2021, 18:22
by ggauny@live.fr
@Bisam,

Merci beaucoup, mais je n'ai pas fait de copier-coller (que je ne sais pas faire). J'ai pressé sur la balise "code", puis j'ai écris à la main entre les deux balises.
Comme ça :

"code" ici j'ai écris mon programme "/code"

Re: Diviseurs d'un nombre : idiv.py

Unread postPosted: 27 Mar 2021, 18:51
by Bisam
Tu as fait correctement... mais en oubliant de mettre l'indentation correcte alors.
Il faut mettre des espaces et non des tabulations : les tabulations ne peuvent pas être acceptées dans ce forum (et bien d'autres).
En général, on utilise une indentation de deux espaces par nouvel élément.