Problem mit Aufgabe

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.
Python 47
User
Beiträge: 574
Registriert: Samstag 17. September 2005, 21:04

Problem mit Aufgabe

Beitragvon Python 47 » Montag 24. Oktober 2005, 15:58

Habe folgendes Problem:

Aufgabe:formuliere diese Beispiele als Funktionen mit den Namen compare(x, y) und dispatch(choice). Um die zweite zu testen sind dann natürlich noch vier Funktionen functionA(), ... functionD() zu schreiben, die im einfachsten Fall vielleicht nur ausgeben, dass sie aufgerufen wurden.

Beispiele: http://www.rafb.net/paste/results/LkXaIS20.html

Mein Code: http://www.rafb.net/paste/results/xvyx5e57.html

Aber ich finde kein passendes Argument für meine Funktion.Wie könnte der Code verbessert aussehen?

P.S. Das erste Beispiel hab ich schon gelöst.
mfg

Thomas :-)
Benutzeravatar
jens
Moderator
Beiträge: 8458
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Beitragvon jens » Montag 24. Oktober 2005, 16:04

Leg ein Dict an und werte es aus.

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Gast

Beitragvon Gast » Montag 24. Oktober 2005, 16:14

Sorry aber das kann ich noch nicht.Gibts noch ne andere Lösung?
Gast

Beitragvon Gast » Montag 24. Oktober 2005, 16:36

Dann machs doch ganz einfach so:

Code: Alles auswählen

def functionA():
    """Funktion A"""
    print "Funktion functionA() wurde aufgerufen..."

def functionB():
    """Funktion B"""
    print "Funktion functionB() wurde aufgerufen..."

def functionC():
    """Funktion C"""
    print "Funktion functionC() wurde aufgerufen..."

def functionD():
    """Funktion D"""
    print "Funktion functionD() wurde aufgerufen..."

def choice(auswahl):
    """Ruft eine Funktion aufgrund der Auswahl auf"""
    if auswahl == 'A':
        functionA()
    elif auswahl == 'B':
        functionB()
    elif auswahl == 'C':
        functionC()
    elif auswahl == 'D':
        functionD()
    else:
        print "Falsche Auswahl..."

choice(raw_input("Bitte geben Sie Ihre Auswahl ein: ").upper())
Gast

Beitragvon Gast » Montag 24. Oktober 2005, 16:45

aber das zeigt doch nur die Zahl an.Ich will aber das wenn ich eine zahl eingebe die dazugehörige funktion aufgerufen wird[/quote]
Gast

Beitragvon Gast » Montag 24. Oktober 2005, 16:49

Anonymous hat geschrieben:aber das zeigt doch nur die Zahl an.Ich will aber das wenn ich eine zahl eingebe die dazugehörige funktion aufgerufen wird


Genau das passiert doch jetzt... Nur dass es sich bei der Eingabe nicht um Zahlen handelt, sondern um Buchstaben... Aber das ist ja nun wahrlich keine Schwierigkeit, dies entsprechend anzupassen!
Benutzeravatar
jens
Moderator
Beiträge: 8458
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Beitragvon jens » Montag 24. Oktober 2005, 16:50

Ich meinte es ungefähr so:

Code: Alles auswählen

def functionA():
    """Funktion A"""
    print "Funktion functionA() wurde aufgerufen..."

def functionB():
    """Funktion B"""
    print "Funktion functionB() wurde aufgerufen..."

def functionC():
    """Funktion C"""
    print "Funktion functionC() wurde aufgerufen..."

def functionD():
    """Funktion D"""
    print "Funktion functionD() wurde aufgerufen..."

conf = {
    "A": functionA,
    "B": functionB,
    "C": functionC,
    "D": functionD
}

def choice(auswahl):
    """Ruft eine Funktion aufgrund der Auswahl auf"""
    try:
        conf[auswahl]()
    except KeyError:
        print "Falsche Auswahl..."

choice(raw_input("Bitte geben Sie Ihre Auswahl ein: ").upper())

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd

Wer ist online?

Mitglieder in diesem Forum: kl.as, Sirius3, WhiteyW