2017-05-30 4 views
0

Es sind ungefähr 10 Motivationsgeschichten, in denen ich sie "bewerten" muss, indem ich verschiedene Aspekte betrachte. Die erste if-Anweisung prüft, ob die Länge der Story mehr als 280 Zeichen beträgt, die zweite if-Anweisung prüft, ob der erste Buchstabe ein Großbuchstabe ist. Ich möchte die Noten speichern in candidscore so, wenn offen 2 eine Länge> 280 hat und der erste Buchstabe ist eine Hauptstadt, die ich die candidscore[1] wollen 2.Inkrementieren von Elementen einer Liste in Python

-Code sein:

candidscore = numpy.zeros(10) 

for i in range(0, 9): 
    if lengthmot[i] > 280: 
     candidscore[i] =+ 1 
    if lengthmot[i] > 0: 
     if motivation[i][0].isupper():  
      candidscore[i] =+ 1 

Problem: Die Array candidscore sieht zunächst so aus: array([ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]) so dass funktioniert.

Es überprüft, ob die Länge> 280, dies funktioniert, und das Array hat mehrere Einsen. array([ 1., 0., 1., 1., 1., 0., 1., 0., 1., 0.]). Das funktioniert auch

Dann sollte es überprüft, ob der erste Buchstabe ein Großbuchstabe ist, ich denke, es überprüft es, aber es erhöht nur die Punktzahl, wo es immer noch 0 nach der ersten if-Anweisung ist so sieht es so aus: array([ 1., 1., 1., 1., 1., 1., 1., 0., 1., 1.]).

Allerdings sollte es nach den Daten so aussehen: array([ 2., 1., 2., 2., 1., 1., 1., 0., 1., 2.]).

Ich verstehe nicht, warum die Elemente, die bereits 1 sind, nicht inkrementieren.

+5

'= +' nicht gleich '+ =' arbeitet. –

Antwort

5

Du =+ statt += verwenden, das ändern, und es sollte

+0

wow danke so ein kleiner Fehler Ich habe seit Tagen übersehen –

+0

Gerne zu helfen, bitte akzeptieren Sie die Antwort, wenn es derzeit funktioniert. – IsaacDj

Verwandte Themen