Weil hinter "else" der Doppelpunkt fehlt.
Abgesehen davon wird das Skript aber nicht das machen, was Sie erwarten: In der For-Schleife setzen Sie für jede leistung in leistungen den returnvalue neu. Es gewinnt also die letzte leistung. Was Sie aber eigentlich wollen (vermutlich) ist herrausfinden ob die pruefziffer in den leistungen mindestens einmal vorhanden ist. Das lässt sich so erreichen:
returnvalue = 0
pruefziffer = '03221H'
leistungen = kvleistungen
leistungen = select(leistungen, startQuartal=heuteQuartal-0.25, endQuartal=heuteQuartal)
for leistung in leistungen:
if leistung['code'] == pruefziffer:
returnvalue = 1
Noch ein Nachtrag: Etwas verständlicher (zumindest nach meinem Empfinden), wäre auf die For-Schleife zu verzichten:
returnvalue = 0
pruefziffer = '03221H'
leistungen = kvleistungen
leistungen = select(leistungen, startQuartal=heuteQuartal-0.25, endQuartal=heuteQuartal)
leistungsziffern = [leistung['code'] for leistung in leistungen]
if pruefziffer in leistungsziffern:
returnvalue = 1