Seite 1 von 1

Bool'sche Parameter Übung

Verfasst: Sonntag 25. Dezember 2022, 06:48
von I3lackt4r
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

Re: Bool'sche Parameter Übung

Verfasst: Sonntag 25. Dezember 2022, 08:18
von sparrow
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.

Re: Bool'sche Parameter Übung

Verfasst: Sonntag 25. Dezember 2022, 08:21
von bwbg
Definiere eine Funktion namens meine_funktion, die drei Parameter annimmt, x, y und z.
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:

Code: Alles auswählen

def meine_funktion(x, y, z): ...
:arrow: Die Parameter einer Funktion müssen nicht in der Reihenfolde aufgeführt werden, wie sie in der Funktionsdefinition verwendet werden. Sie müssen lediglich äußeren Anforderungen genügen, wie zum Beispiel Lesbarkeit oder eben hier der Aufgabenstellung.

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: ...
Besser man schreibt direkt:

Code: Alles auswählen

if c: ...
Der ganze if-else-Block ließe sich in einem Ausdruck zusammendampfen:

Code: Alles auswählen

return x if z else y

Re: Bool'sche Parameter Übung

Verfasst: Sonntag 25. Dezember 2022, 08:36
von I3lackt4r
Danke für Eure Hilfe, ich hab es trotzdem selbst geschaft:
def meine_funktion(x,y,z):
if z == True:
return x
else:
return y

Schöne Feiertage und einen guten Rutsch in 2023!

Re: Bool'sche Parameter Übung

Verfasst: Sonntag 25. Dezember 2022, 21:18
von /me
bwbg hat geschrieben: Sonntag 25. Dezember 2022, 08:21

Code: Alles auswählen

return x if z else y
Ich hab' hier noch was mit gleicher Zeichenanzahl:

Code: Alles auswählen

return(y,x)[bool(z)]
Nicht so schön wie die andere Variante, aber vielleicht ein interessanter Code für einen Anfänger zum Knobeln.

Re: Bool'sche Parameter Übung

Verfasst: Montag 26. Dezember 2022, 12:46
von I3lackt4r
Danke