Ich habe ein Übungsprogramm geschrieben, dass perfekte Zahlen ermitteln soll. Prinzipiell funktioniert es auch. Jedoch verstehe ich nicht warum ich das returnte Array "primfaktoren" nach der Ausgabe nicht mehr verwenden kann. Kann mir das jemand erklären oder einen Lösungsvorschlag geben, um das Array weiter zu nutzen zu können.
Vielen Dank
Code: Alles auswählen
def primfaktoren_proz(n):
i = int(1)
primfaktoren = []
while i<n:
if n % i == 0:
primfaktoren.append(i)
print(primfaktoren)
i +=1
return primfaktoren
def isTrue(n,primfaktoren):
if sum(primfaktoren) == n:
print("Die Primfaktoren sind: ")
return (True)
else:
return False
def isVollkommendeZahl(n):
primfaktoren_proz(n)
isTrue(n,primfaktoren)
n = float(0)
while n>=0 and n % 1 == 0:
n = float(input( "Geben Sie eine Ganzzahl an! DAs Programm wird beendet, wenn Sie eine negative oder eine Kommazahl verwenden "))
if isVollkommendeZahl(n):
print(n, "ist eine eine perfekte Zahl ")
else:
print(n, "ist keine perfekte Zahl")