OTK Störung - IONOS als Mailserver®
Alle Hinweise und Informationen finden Sie unter folgendem Link.

BEDINGTE Freigabe der macOS Version Sequoia für tomedo®
Alle Hinweise und Informationen finden Sie unter folgendem Link.

Ist da irgendwo ein Syntaxfehler?

Gefragt von (37.2k Punkte)
0 Punkte

1 Antwort

In den Zeilen 5 und 6 fehlen Doppelpunkte (also hinter "for diag in diagnosen" und hinter "if ... icdcode" ). Entsprechend sollte auch eine Fehlermeldung erscheinen, wenn Sie die Skripte testen.
Beantwortet von (2.7k Punkte)
0 Punkte
Vielen Dank!

Es kam nur die Meldung das es nicht geht... (sinngemäß)

Habe die Doppelpunkte eingetragen, und jetzt wird beim prüfen ein Syntaxfehler in Zeile 2 angezeigt...?
diagnosen = kvdiagnosen +  karteidiagnosen
icdcode = 'G35.9'
returnvalue = 0

for diag in diagnosen:
    if diag['code'] == icdcode:
        returnvalue = 1

Versuchen Sie mal dieses. Das ist zwar augenscheinlich dasselbe, allerdings spielt die Art des Zeilenumbruchs als auch Tabs in Python eine wichtige Rolle. Genauso funktioniert der Marker. 

Tja...

Habe den Code per Copy/Paste eingesetzt aber immer noch Fehler....

Gehen Sie bitte in den erweiterten Modus (direkt über dem Textfeld) und testen Sie erneut.

Seufz ....yes

Herzlichen Dank!!

kann man auch per "oder" verschiedene ICD-Codes abfragen um genau einen Marker zu setzen?

Ja sollte in etwa so gehen (nicht getestet):

diagnosen = kvdiagnosen +  karteidiagnosen
icdcodes = ['G35.9', 'BSP1', 'BSP2', ..., 'BSPN']
returnvalue = 0

for diag in diagnosen:
    if diag['code'] in icdcodes:
        returnvalue = 1
        break

die letzte Zeile (break) dient zur Performance-Optimierung: Sobald eine Diagnose gefunden wurde, wird nicht weiter gesucht.

Super, das werde ich ausprobieren!

Tja, das funktioniert leider nicht. Welchen Zeilenumbruch muss man denn nehmen, liegt es daran?

Ohne "break" gibt es zwar keinen Fehler aber der Marker wird nicht gesetzt.

Das kann so auch nicht funktionieren. Das Problem liegt in Zeile 6. Ändern Sie "==" in "in" um. Sie möchten jetzt nicht mehr eine Diagnose vergleichen, sondern schauen, ob eine Diagnose "in" einer Liste von Diagnosen ist.

Ich schreibe solche Marker immer in einem externen Editor (z.B. Textedit), das relativiert das Problem mit den Indents und Zeilenumbrüchen meistens.
oh Mist, ich habe zu flüchtig gelesen, sorry!
18,354 Beiträge
26,608 Antworten
47,703 Kommentare
28,652 Nutzer