Seite 1 von 1

boolean Ausdruck führt zu Syntaxfehler

Verfasst: Freitag 26. August 2016, 14:27
von Brando
ich erhalte einen Syntaxfehler invalid sytax wenn ich folgendes codiere:

Code: Alles auswählen

gefunden = True
if gefunden: 
   loesung="richtig"
  

Re: boolean Ausdruck führt zu Syntaxfehler

Verfasst: Freitag 26. August 2016, 14:31
von Sirius3
@Brando: bei den drei Zeilen erhältst Du garantiert keinen Syntaxfehler. Bitte den wahren Code und die komplette Fehlermeldung inklusive Traceback posten.

Re: boolean Ausdruck führt zu Syntaxfehler

Verfasst: Freitag 26. August 2016, 14:34
von Brando
Vielleicht stimmt mit meiner Maschine ja etwas nicht. Hier der Code, der eine Eingabematrix mit einer Lösungsmatrix vergleichen soll.

Code: Alles auswählen

   q,r = np.linalg.qr(a_matrix)
   loesungstext=''
   gefunden=True
   for i in range(q.shape[0]):
     for j in range (q.shape[1]):
       if round(q[i,j],2)!=round(tb_container[i].children[j],2):
         gefunden=False
         loesungstext=loesungstext+"Fehler in Zelle " + str(i)+ " " + str(j) + " wahrer Wert ist: "+ str(round(q[i,j],2) + '\n'
   if gefunden:
         loesungstext="richtige Loesung"

Re: boolean Ausdruck führt zu Syntaxfehler

Verfasst: Freitag 26. August 2016, 14:37
von BlackJack
@Brando: Suche jede öffnende Klammer und die jeweils dazugehörende schliessende Klammer. Da fehlt eine.

Re: boolean Ausdruck führt zu Syntaxfehler

Verfasst: Freitag 26. August 2016, 14:54
von Sirius3
@Brando: Bei numpy sollte man ausnutzen, dass man mit kompletten Matrizen rechnen kann

Code: Alles auswählen

q,r = np.linalg.qr(a_matrix)
vergleich = np.array([row.children for row in tb_container])

abweichung = np.where(abs(q-vergleich) >= 0.01)
if abweichung[0].size > 0:
    loesungstext = ''.join("Fehler in Zelle {}/{}. Wahrer Wert ist: {:.2f}\n".format(i, j, q[i,j]) for i, j in zip(*abweichung))
else:
    loesungstext = "richtige Loesung"

Re: boolean Ausdruck führt zu Syntaxfehler

Verfasst: Freitag 26. August 2016, 15:32
von Brando
Ja daran war es gelegen. Vielen Dank!