2016-04-10 12 views
0

Kann mir jemand sagen, was ich falsch mache? Ich schreibe ein Programm mit Schleifen in Python 3.x, aber wenn ich Programm ausführen Ich bin ein Zurückverfolgungs Fehler bekommen:Python, Programmschleife

Vielfaches von 13 195 und Faktoren sind wie folgt Traceback (jüngste Aufforderung zuletzt): Datei "C:/Benutzer/Darlene/Desktop/Kapitel 4/program4_2.py", Zeile 19, in list1.append (j) Attribute: 'dict' Objekt hat kein Attribut 'append'

Dies ist der Code, ich eingegeben:

def main(): 
    for i in reversed(list(range(100,201))): 
    if i%13==0: 
     print("multiple of 13 is",i,"and factors are as follows") 
     list1 = {} 
     for j in list(range(2,i+1)): 
      if i%j == 00: 
      list1.append(j) 
     print(list1) 
main() 
+0

Wenn ich mich richtig erinnere, deklariert 'list1 = {}' ein Wörterbuch, keine Liste, daher gibt es keine 'append'-Methode. –

Antwort

0

list1 muss eine Liste wie so sein ...

list1 = [] 

Sie es als dict definiert, und als Python sagte

'dict' Objekt kein Attribut 'anhängen'

0

Wie Luke Park kommentierte list1 = {} wird ein Wörterbuch erklären. Was Sie brauchen, ist list1 = [].

Auch Bereich wird bereits einen range Typ zurückgeben, der von den meisten Methoden und Schleifen verarbeitet werden kann, so dass es nicht notwendig ist, es in eine Liste zu übertragen.