Parameter an Funktion übergeben

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
peter10
User
Beiträge: 2
Registriert: Dienstag 23. September 2014, 15:54

Hallo,
ich bin ein Anfänger in Python und hab mit anderen Sprachen nicht viel mehr Erfahrung. Ich hab hier ein Beispiel gefunden, wie man mit drei Funktionen die meisten Benutzereingaben abfangen kann:

Code: Alles auswählen

def get_strings(question="Frage: "):
    return input(question)
 
def get_int(question="Your value:"):
    while True:
        try:
            return int(input(question))
        except ValueError:
            print("Bitte nur Integerwerte eingeben!")
 
def get_yes_no(question="Your value:"):
    result = {True: "y", False: "n"}
    while True:
        answer = input(question).lower()
        if answer in "yn":
            return result[answer]
        print("Bitte nur 'y' oder 'n' eingeben!")
Das finde ich recht praktisch, hat aber den Nachteil, das "Frage: " oder "Your value: " statisch sind. Ich möchte den anzuzeigenden Text als Parameter beim Aufruf der Funktion übergeben. Beispiel (nur zur Veranschaulichung!):

Code: Alles auswählen

...
def get_strings(question = text):
...
get_strings(text="Frage: ")
So funktioniert es natürlich nicht. Ich hab aber auch keinen Plan, wie ich "get_strings" einen Parameter mitgeben soll.
Ein kleiner Schubs als Denkanstoß wäre nett, auch heftigere Schubse sind willkommen.
BlackJack

@peter10: Ein Grundlagentutorial durchzuarbeiten könnte helfen diese Frage zu beantworten. In der Python-Dokumentation ist zum Beispiel eines. Und für absolute Programmieranfänger wird auch oft Learn Python The Hard Way empfohlen. Nicht vom Titel irritieren lassen. :-)
Benutzeravatar
/me
User
Beiträge: 3555
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

peter10 hat geschrieben:Ein kleiner Schubs als Denkanstoß wäre nett, auch heftigere Schubse sind willkommen.
*schubs* Arbeite das Tutorial durch *schubs*

Und jetzt gibt es noch einen Schubs zum passenden Kapitel: More on defining Functions *schubs*
peter10
User
Beiträge: 2
Registriert: Dienstag 23. September 2014, 15:54

Das hab ich schon mindestens dreimal durchgelesen und offensichtlich nichts verstanden. Ich mags eigentlich nicht aufs Alter schieben, aber jetzt ist mir ein ganzes Schuppenbündel von den Augen gefallen. Parameter kann ich beliebig viele übergeben, wenn ich sie definiere. Ich hatte mich wohl an dem Beispiel festgebissen. Danke für den Schubs.
Benutzeravatar
/me
User
Beiträge: 3555
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

In deinem Fall gibt es ja auch bereits einen Parameter für den zu übergebenden Text. Dieser Parameter ist mit einem Default-Wert vorbelegt den du beim Aufruf natürlich überschreiben kannst.

Code: Alles auswählen

value = get_int(question='Bitte geben Sie die Anzahl der Cheeseburger ein:')
Antworten