Ich dreh am Rad

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Knuffi
User
Beiträge: 60
Registriert: Dienstag 28. Oktober 2014, 19:52

Guten Morgen zusammen,

ich habe seit stunden versucht eine Zahl in einen Array einzulesen, es wird immer mit der Meldung( !int! object does not support item assignment",aus dem Forum habe ich einige Lösungsvorschläge ausprobiert. Leider ohne grossen Erfolg. Wer kann ir weiterhelfen

Code: Alles auswählen

a = [0,0,0,0,0,0,0]
d = 17
for r in range(8):
 b = d + r
 x = bus.read_byte_data(0x50,b)
 a[r] = x
Sirius3
User
Beiträge: 17741
Registriert: Sonntag 21. Oktober 2012, 17:20

@Knuffi: der gezeigte Code kann diesen Fehler nicht haben. Er wirft einen IndexError, wenn r 7 ist, die Liste aber nur 7 Elemente hat. Zeig Deinen richtigen Code inklusive Traceback.

Übrigens erzeugt man auch keine mit 0 gefüllte Liste um sie dann mit Werten zu belegen, sondern erzeugt eine leere Liste, um dann Elemente anzuhängen:

Code: Alles auswählen

a = []
for b in range(17, 17+8):
    a.append(bus.read_byte_data(0x50, b))
mutetella
User
Beiträge: 1695
Registriert: Donnerstag 5. März 2009, 17:10
Kontaktdaten:

Oder als List Comprehension:

Code: Alles auswählen

a = [bus.read_byte_data(0x50, b) for b in range(17, 17+8)]
mutetella
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit ;-) )
Knuffi
User
Beiträge: 60
Registriert: Dienstag 28. Oktober 2014, 19:52

Hallo Sirius3, hallo Mutella,

herzlichen danke für die Hilfe. Ich bin halt noch Anfänger in Python.
Gruß
Knuffi
Antworten