Es tut mir wirklich leid, wenn das dumm erscheint. Dieser Code führt zu folgendem Fehler: UnboundLocalError: lokale Variable 'current_order', auf die vor der Zuweisung verwiesen wird, insbesondere in der ersten Zeile der zweiten 'for' -Schleife. Der Fehler ist behoben, wenn ich current_order als globale Variable deklariere; aber ich kann immer noch nicht verstehen, warum ich das tun muss. Habe ich die Variable nicht in der ersten for-Schleife angelegt? (Übrigens ist die Bedingung in der ersten for-Schleife garantiert, True zurückzugeben, so dass das nicht das Problem ist). Vielen DankLokale Variable, auf die vor der Zuweisung innerhalb der Funktion verwiesen wird
def choose_pitch_from_order(current_pitch, direction, pitches_in_play,
chomp_key):
for pitch in all_pitches:
if current_pitch == pitch.name:
current_order = pitch.order
for i in current_order:
for pitch in pitches_in_play:
if pitch.index == i:
next_set = pitch
pitches_in_play.remove(next_set)
return (next_set, direction, chomp_key)
Was passiert, wenn 'if current_pitch == pitch.name' niemals zu' True' ausgewertet wird? –
@ JonathonReinhart Er behauptet, dass das nie passieren kann. – Barmar
... oder wenn 'all_pitches' leer ist. –