Hallo.
Ich bin völlig überfordert mit einer Aufgabe, die mein Dozent gestellt hat. Leider ist die Aufgabe zu einem Thema, was wir noch nicht wirklich gemacht haben, und da ich blutige Anfängerin bin, komm ich nach stundenlangem Überlegen und ausprobieren nicht weiter
Ich habe die Lösung der Aufgabe, und muss rausfinden, wie ich dorthin gelange. Doch leider bin ich absolut überfordert und hoffe auf eure Hilfe... Ich poste einfach mal die Aufgabenstellung und wäre sehr sehr dankbar, wenn mir jemand auf die Sprünge helfen könnte, denn ich bin ich zu doof dafür, und find noch nichtmal nen Ansatz...
Also:
Implementieren Sie eine Funktion hello(), die eine Anrede (z.B. für einen Brief) generiert. Verwenden sie Schlüsselwortargumente, um genau die folgenden Ausgaben produzieren zu können:
>>> hello()
Hallo Herr Schneider
>>> hello(nachname="Meier",begr="offiz")
Sehr geehrter Herr Meier
>>> hello(gender="n",nachname="Christkind",begr="pers")
Liebes Christkind
>>> hello(nachname="Meier",gender="f",titel="Prof. Dr.")
Hallo Frau Prof. Dr. Meier
>>> hello(nachname="",begr="pers",vorname="Karl",anrede="")
Lieber Karl
>>> hello(titel="Dr.",begr="offiz")
Sehr geehrter Herr Dr. Carstensen
>>> hello(nachname="Meier",gender="f",begr="pers")
Liebe Frau Meier
>>>
So. Das ist die Aufgabe. Achso, ich hab übrigens gelesen, dass das Forum nicht dazu dienen soll, Hausaufgaben zu lösen, aber ich bin wirklich sehr verzweifelt, weiss nicht mehr, was ich noch tun soll und hoffe deshalb auf eure Hilfe.
Lieben Gruß
Schlüsselwortargumente... Hilfe...
Wo genau liegt denn dein Problem?Madpuella hat geschrieben:So. Das ist die Aufgabe. Achso, ich hab übrigens gelesen, dass das Forum nicht dazu dienen soll, Hausaufgaben zu lösen, aber ich bin wirklich sehr verzweifelt, weiss nicht mehr, was ich noch tun soll und hoffe deshalb auf eure Hilfe.
Weißt du, was Schlüsselwortparameter sind und wie sie funktionieren?
Wenn nein: Dann könntest du z.B. im Tutorial zunächst nachlesen.
Und: Zeig doch mal, was du schon gemacht hast (=Code). Dann lässt sich am besten erkennen, wo du etwas noch nicht verstanden hast.
- rudolfo.christ
- User
- Beiträge: 11
- Registriert: Freitag 5. Dezember 2008, 18:47
- Wohnort: Trier
http://docs.python.org/tutorial/control ... -arguments
Wenn es für die Uni/FH/Schule ist solltest du es selbst probieren.
Selbsterarbeitetes bleibt länger (oder gar für immer) im Gedächtnis.
Wenn es für die Uni/FH/Schule ist solltest du es selbst probieren.
Selbsterarbeitetes bleibt länger (oder gar für immer) im Gedächtnis.
-
- User
- Beiträge: 11
- Registriert: Freitag 28. November 2008, 22:05
- Wohnort: Bochum
- Kontaktdaten:
Ich weiss leider überhaupt nicht, wie ich überhaupt anfangen soll.... Das, was in dem Link steht, hilft mir leider auch nicht weiter, aber danke trotzdem. Ich hab einfach das Denken, was man für Python und sowas braucht noch nicht. Deshalb steh ich immer ratlos vor den Aufgaben, und weiss nicht weiter. Dann versuch ich Schritt für Schritt nachzuvollziehen, was die Aufgaben überhaupt von mir wollen. Und kleinschrittig versuche ich dann, irgendwie etwas hinzukriegen. Aber ich scheiter leider immer. Das ist äußerst frustrierend. Selbst wenn die Dinge auf Chinesisch dort stehen würden, würd ich nicht weniger verstehen
Ich weiß ja nicht, wie groß dein Wille zum Verstehen ist, aber mit Anstrengung wird es schon verbunden sein. Vielleicht hilft dir der folgende Code zu verstehen, wie man das Problem lösen könnte:Madpuella hat geschrieben:Ich weiss leider überhaupt nicht, wie ich überhaupt anfangen soll...
Code: Alles auswählen
def hello(begr="locker",gender="m",nachname="Schneider"):
if begr == "locker":
txt = "Hallo"
elif begr == "offiz":
txt = "Sehr geehrte"
elif begr == "pers":
txt = "Liebe"
else:
return False
if txt != "Hallo":
if gender == "m":
txt += "r"
elif gender == "n":
txt += "s"
txt += " "
if nachname:
if gender == "m":
txt += "Herr "
elif gender == "f":
txt += "Frau "
txt += nachname
return txt
Der fortgeschrittenere Pythoniker würde es im übrigen eleganter, z.B. mit Hilfe von dictionarys lösen. Dann sähe der Code etwa so aus:
Code: Alles auswählen
def hello(begr="locker",gender="m",nachname="Schneider"):
anrede = {"locker":"Hallo ","pers":"Liebe","offiz":"Sehr geehrte"}
endung = {"f":" ","m":"r ","n":"s "}
person = {"f":"Frau ","m":"Herr ","n":""}
txt = anrede[begr]+endung[gender] if begr != "locker" else anrede[begr]
return txt+person[gender]+nachname if nachname else txt
-
- User
- Beiträge: 11
- Registriert: Freitag 28. November 2008, 22:05
- Wohnort: Bochum
- Kontaktdaten:
Vielen Dank. Ich denke, dass mir das schon weiterhilft. Jedenfalls versteh ich das, da mir bekannte Dinge in deinem Vorschlag dort verwendet werden. Das kann ich dann auch nachvollziehen. Mich hatte das nur in der Aufgabenstellung irritiert, dass da Schlüsselwortargumente so betont werden. Deshalb war ich so ratlos.
Ganz vielen lieben Dank!
Ganz vielen lieben Dank!