Frage

list == []

def MultiplesNumber(a):
    for i in range(1, a+1):
             if a % i == 0:
                    return i

list.append(MultiplesNumber(100))
TypeError: descriptor 'append' requires a 'list' object but received a 'int'

Ich kann nicht hinzufügen i Zu list, irgendeine Idee?

War es hilfreich?

Lösung

An Ihrem Code stimmen zwei Dinge nicht:

  • Du machst ein list == [] was seitdem ein Wahr oder Falsch zurückgibt == ist ein Vergleichsoperator.In diesem Fall kehrt es zurück False.Sie müssen verwenden = um eine Variable zu initialisieren.
  • list ist der Name eines in Python integrierten Typs. Verwenden Sie einen anderen Namen als Variablennamen.

Beides beheben:

alist = []

def MultiplesNumber(a):
    for i in range(1, a+1):
             if a % i == 0:
                    return i

alist.append(MultiplesNumber(100))

gibt die richtige Ausgabe.

Andere Tipps

list ist das eingebaute Schlüsselwort, das Sie beschattet list Variable.Sie müssen einer Variablen eine Liste zuweisen und nicht deren Gleichheit prüfen.

lst = []


def MultiplesNumber(a):
    return [x for x in range(1, a + 1) if a % 2 == 0]


lst.append(MultiplesNumber(100))
print(lst)
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top