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

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
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Leg ein Dict an und werte es aus.

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Gast

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

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

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

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
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

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())

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Antworten