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.
Problem mit Aufgabe
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())
aber das zeigt doch nur die Zahl an.Ich will aber das wenn ich eine zahl eingebe die dazugehörige funktion aufgerufen wird[/quote]
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!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
- 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())