Ich kann einer Liste kein int hinzufügen
-
21-12-2019 - |
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?
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ückFalse
.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