Umfrage zu Weiterbildungsgewohnheiten

Wir möchten unsere Schulungs- und Weiterbildungsangebote für Sie noch besser auf Ihre Bedürfnisse abstimmen: Wie lernen Sie am liebsten? Über welche Formate möchten Sie sich am liebsten zu tomedo® weiterbilden? Und welche Themen interessieren Sie besonders?

Teilen Sie es uns mit! Nehmen Sie sich gerne 5 Minuten Zeit, um unsere 10 kurzen Fragen zu beantworten. So können wir herausfinden, welche Unterstützung für Sie am wertvollsten ist.

Vielen Dank für Ihre Mithilfe!

Warum bekomme ich bei diesem Skript einen Fehler? "Das Skript ist Fehlgeschlagen?"

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
	else
		returnvalue = 0

 

Gefragt von (3.9k Punkte)
0 Punkte

2 Antworten

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
Beantwortet von (2.9k Punkte)
Bearbeitet von
0 Punkte

geht leider immer noch nicht

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
	else:
		returnvalue = 0

 

Sie müssen außerdem in den erweiterten Modus wechseln und dort testen, da das Skript kein Einzeiler ist. Siehe außerdem meine bearbeitete Antwort oben zum Inhalt des Skriptes im Allgemeinen.
Sorry geht nicht! wir können gerne einen TV Session machen
Könnten Sie das fertige Script dann bitte posten?
Beantwortet von (21.6k Punkte)
0 Punkte
Das oben vom mir gepostete Skript sollte funktionieren. Der Fehler bezog sich auf ein anderes Skript, Da beim Testen immer alle Skripte getestet werden, kam es zu Verwirrung.
20,160 Beiträge
28,632 Antworten
51,900 Kommentare
34,784 Nutzer