Bonjour,
Je suis en PCSI et je dois faire un exercice de programmation en python sur les nombres parfaits...
1-Ecrire une fonction qui vérifie si un nombre n est parfait. Cette fonction renverra le booléen True si n est parfait, False sinon.
Ca j ai réussi:
def parfait(n)
"retourne True si nombre parfait, False sinon")
n=int(input("Donner un nombre n="))
S=0
for i in range (1,n//2+1):
if n % i ==0 :
S=S+i
if S==n :
print ("True")
else :
print ("False")
2-Ecrire un programme utilisant la fonction précédente sui renvoie les p premiers nombres parfaits. Essayer avec p=4 puis p=5.
Et là je n y arrive pas et je ne vois pas trop comment faire ...
Voilà ce que j ai essayé de faire:
def nombre_parfait (n):
p=int(input("donner un entier naturel p="))
J=0
while J<p :
if parfait(n)==True :
print (J=J+1)
else :
print (J=J)
print J
Pourriez-vous m indiquer ou mon programme cloche ? J ai surement toput faux mais dans ce cas la, par ou commencer ?
Merci d avance !!