Schönen guten Morgen/Tag,
ich wünsche
Euch erstmal eine schöne Weihnacht und jetzt zu meiner Frage... Es geht um eine Übung aus meinem Kurs... die Aufgabestellung ist:
Definiere eine Funktion namens meine_funktion, die drei Parameter annimmt, x, y und z.
Wenn z wahr ist, gebe x zurück. Wenn z falsch ist, gebe y zurück.
Denke daran, führe die Funktion nicht aus, sondern gebe einfach die Definition an.
Eine ähnliche Programmlogik sieht zum Beispiel so aus:
if c == True:
return a
else:
return b
Das ist alles, was du brauchst, um anzufangen!
Um dir eine Vorstellung davon zu geben, wie die Funktion im Test aussehen würde:
Ich habe versucht:
def meine_funktion(z,x,y): #<---- ist das richtig???
if z==True:
return x
else:
return y
dann kommt immer:
'Test2' != False: Dies ist leider falsch
Bool'sche Parameter Übung
Die Reihenfolge der Parameter könnte wichtig sein. Man kann in Python die Parameter beim Aufruf einer Funktion benannt übergeben oder nach Reihenfolge. Und so, wie ich die Aufgabe verstehe, soll z der letzte Parameter sein.
Ich gehe stark davon aus, dass ich sich um positional arguments handelt. Sprich: Hier ist die Position beim Aufruf relevant und nicht der Name. Die der Konsequenz musst du dich an diese Reihenfolge aus der Aufgabenstellung halten:Definiere eine Funktion namens meine_funktion, die drei Parameter annimmt, x, y und z.
Code: Alles auswählen
def meine_funktion(x, y, z): ...

Einige Hinweise über die Aufgabenstellung hinaus:
Einen boolschen Wert auf True oder False zu Prüfen ist überflüssig.
Code: Alles auswählen
if c == True: ...
Code: Alles auswählen
if c: ...
Code: Alles auswählen
return x if z else y
"Du bist der Messias! Und ich muss es wissen, denn ich bin schon einigen gefolgt!"
Ich hab' hier noch was mit gleicher Zeichenanzahl:
Code: Alles auswählen
return(y,x)[bool(z)]