Anfängerfrage: Funktionen und Rückgabewerte

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
Atalanttore
User
Beiträge: 407
Registriert: Freitag 6. August 2010, 17:03

Hallo

Bin gerade als blutiger Anfänger in diesem Python Tutorial unterwegs.

In Kapitel 4.6 geht es um mehrfache Verzweigungen. Am Ende dazu gibt es auch eine Übung, aber diese Aufgabe bekomme ich nicht gebacken.

Zu der Aufgabe habe ich bisher ein paar Funktionen definiert, aber weiß natürlich nicht ob ich auf dem richtigen Weg bin und wie es weiter geht:

Code: Alles auswählen

def functionA():
    print "Funktion A"
  
def functionB():
    print "Funktion B"
  
def functionC():
    print "Funktion C"
  
def functionD():
    print "Funktion D"

dispatch(choice):
    if choice == 'A': 
        functionA() 
    elif choice == 'B': 
        functionB() 
    elif choice == 'C': 
        functionC() 
    elif choice == 'D': 
        functionD() 
    else: 
        print "Invalid choice." 

    ...
Funktionen (besonders Argumente und Rückgabewerte übergeben) bereiten mir noch große Probleme.

Vielen Dank an den der mir helfen mag! :D


Gruß
Atalanttore
Zuletzt geändert von Atalanttore am Freitag 6. August 2010, 18:21, insgesamt 1-mal geändert.
Benutzeravatar
jbs
User
Beiträge: 953
Registriert: Mittwoch 24. Juni 2009, 13:13
Wohnort: Postdam

Code: Alles auswählen

def double(i):
    return i*2

i = 21
double_i = double(i)
print double_i
Wenn du nichts zurückgibts wird None zurückgegeben ;)
[url=http://wiki.python-forum.de/PEP%208%20%28%C3%9Cbersetzung%29]PEP 8[/url] - Quak!
[url=http://tutorial.pocoo.org/index.html]Tutorial in Deutsch[/url]
Atalanttore
User
Beiträge: 407
Registriert: Freitag 6. August 2010, 17:03

OK .... was muss ich nun anders machen?
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Was ist denn ueberhaupt dein Problem? Wenn es das ist, dass der Code nicht lauffauhig ist, dann ergaenze ein `def` vor dem `dispatch`.

Edit: Ich habe auch das Gefuehl, dass sich der Text an antiken Python-Versionen orientiert, evtl solltest du das offizielle Tutorial in Betracht ziehen?
BlackJack

Der Text ist auch nicht primär ein Buch um speziell Python zu lernen, sondern um programmieren im Allgemeinen zu lernen.
Atalanttore
User
Beiträge: 407
Registriert: Freitag 6. August 2010, 17:03

cofi hat geschrieben:Was ist denn ueberhaupt dein Problem? Wenn es das ist, dass der Code nicht lauffauhig ist, dann ergaenze ein `def` vor dem `dispatch`.
Ahh, das def hat gefehlt. Jetzt läufts...
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

@BlackJack: Das ist mir klar und auch dass Guidos Tutorial den Anspruch nicht hat (und dem auch nicht gerecht wird), darum war es auch nur ein Vorschlag, keine Dringende Empfehlung™. Aber es macht eben nur begrenzt Sinn das ganze anhand von veraltetem Code - am Besten noch mit einem neuen Interpreter - zu lernen.

Der OP hat uns ja nichts von seinem allgemeinen Kenntnisstand erzaehlt, zumindest las ich das eher auch Python bezogen.
Atalanttore
User
Beiträge: 407
Registriert: Freitag 6. August 2010, 17:03

cofi hat geschrieben:Der OP hat uns ja nichts von seinem allgemeinen Kenntnisstand erzaehlt, ...
Ich sach ma: Blutiger Programmieranfänger mit Linux-Erfahrung.
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Also ich kann mir unter "Linux-Erfahrung" ein richtig breites Spektrum vorstellen ;)
Das wird von "blutiger Programmieranfaenger" aber erheblich eingeschraenkt.

Dann bleibt es beim Vorschlag, wenn du sicherer im Sattel sitzt, solltest du es aber unbedingt mal ueberfliegen.
Antworten