Seite 1 von 1

return anweisung für dumme!!

Verfasst: Mittwoch 19. Mai 2010, 17:17
von 19simon96
kann mir bitte jemand die returnanweisung ganz simple erklären. ich glaube ich bin einfach zu blöd dafür weil ich egal wo sie erklärt wird nicht verstehe!!!
könnt ihr mir bitte mit einfachen beispielen erklären was sie macht und wie sie funktioniert?
wäre euch ganz schön dankbar dafür wenn ihr es schafft sie mir zu erklären.
ich verfüge über keine anderen programmierkenntnisse als wie über python. und bei der bin ich auch erst am lernen. bin bei den deutschen tutorial erst hier:
http://tutorial.pocoo.org/inputoutput.h ... rmatierung
falls das weiterhilft.

lg
simon

Re: return anweisung für dumme!!

Verfasst: Mittwoch 19. Mai 2010, 17:37
von nomnom
Hallo 19simon96,

die Funktion »return« dient dazu, dass bei Funktionen ein Wert zurückgegeben wird.

Zum Beispiel bei diesem Programm:

Code: Alles auswählen

#!/usr/bin/env python

def addieren(summand1, summand2):
    return summand1 + summand2

print addieren(12, 32)
Da wird bei der Funktion »addieren« das Ergebnis von summand1 + summand2 zurückgegeben. Das ist bei »addieren(12, 32)« 44.

Ich hoffe du verstehst es jetzt besser.

Viele Grüße,
Jakob.

Re: return anweisung für dumme!!

Verfasst: Mittwoch 19. Mai 2010, 17:47
von 19simon96
wie kann ich das zurückgegeben verstehen??
das ist so ziehmlich das problem wiso ich es nicht verstehe.
mir ist de auch peinlich dass ich mich jetz so anstelle des zu verstehen aber ich blicks einfach nicht :D

Re: return anweisung für dumme!!

Verfasst: Mittwoch 19. Mai 2010, 18:02
von nomnom
Hier noch mal ein Code-Beispiel:

Code: Alles auswählen

#!/usr/bin/env python


def subtraktion(minuend, subtrahend): # Eine Funktion mit den Parametern minuend und subtrahend definieren
    return minuend - subtrahend # Die Differenz von minuend und subtrahend an den Funktionsaufruf geben


print subtraktion(12, 3) # Das Ergebnis ist 9, das return sagt dem Funktionsaufruf »subtraktion(12, 3)« dass es z. B. bei print das Ergebnis von minuend - subtrahend ausgeben soll.
differenz = subtraktion(15, 5) # Oder bei Variablen, dass der Wert der Variable das sein soll, was return an den Funktionsaufruf zurückgibt
Les die Kommentare, da steht alles.

Das hier würde auch gehen, jedoch gibt es immer 12 zurück:

Code: Alles auswählen

def subtraktion(minuend, subtrahend):
    return 12
Also wäre dann dabei »differenz« 12.

Code: Alles auswählen

differenz = subtraktion(18, 1)
Ich hoffe du verstehst es,
Jakob.

Re: return anweisung für dumme!!

Verfasst: Mittwoch 19. Mai 2010, 18:05
von jonas
Hi Simon ;)

Jede Funktion gibt einen Wert zurück (auch Funktionen die keine return-Anweisung (!) enthalten), welcher bei vielen Funktionen das Ergebnis ihrer Berechnung darstellt, falls sie eine durchführt. Der Rückgabe wert kann auch Aufschluss geben über einen Fehler in der Funktion.
Funktionen die keine explizite return-Anweisung enthalten liefern 'None' einen Wert der einfach für nichts steht.

Code: Alles auswählen

>>> def meineFunktionOhneReturn():
...     pass
... 
>>> print meineFunktionOhneReturn()
None
>>> def meineFunktionMitReturn():
...     return 'Hello'
... 
>>> print meineFunktionMitReturn()
Hello
>>> x = meineFunktionMitReturn()
>>> print x
Hello
Rückgabewerte können also auch in Variablen gespeichert werden.

Lg, Jonas :wink:

Re: return anweisung für dumme!!

Verfasst: Mittwoch 19. Mai 2010, 18:11
von querdenker
return foo sagt nichts anderes aus als : "gebe foo zurück an den der mich aufgerufen hat".

Und foo kann für alles stehen, wie Jonas und nomnom gezeigt haben.

Re: return anweisung für dumme!!

Verfasst: Mittwoch 19. Mai 2010, 18:37
von 19simon96
ah ok vielen dank ihr habt es mir super erklärt und ich verstehen es jetzt auch *freu* :D:D

hier ein beispiel:

Code: Alles auswählen

def prozentwert(G, p): #G=grundwert, p= prozentsatz
     P = p * G / 100
     return P
dass ist dann so dass P dann den prozentwert zurückgibt.

theoretisch kann ich ja dann auch schreiben:

Code: Alles auswählen

def prozentwert(G, p): #G=grundwert, p= prozentsatz
     return p * G / 100
oder??

Re: return anweisung für dumme!!

Verfasst: Mittwoch 19. Mai 2010, 18:43
von 19simon96
hier mal mein ganzer code:

Code: Alles auswählen

#!/usr/bin/env python3.1

"""Programm zur berechnung von Prozentsatz, Prozentwert, Grundwert"""
# Aufgabe des Programms

def Prozentwert(p, G): # Definition zum berechen des Prozentwertes
    P = G * p / 100 # Rechenformel
    return P

def Prozentsatz(P, G): # definition zum berechnen des Prozentsatzes
    p = P * G / 100 # Rechenformel
    return p

def Grundwert(p, P): # definition zum berechnen des Grundwertes
    G = P * p / 100 # Rechenformel
    return G

answer_options_Grundwert = ['Grundwert', 'grundwert', 'G', 'g']
# Liste der Antwormöglichkeiten des Grundwertes
answer_options_Prozentsatz = ['Prozentsatz', 'prozentsatz', 'p']
# Liste der Antwormöglichkeiten des Prozentsatzes
answer_options_Prozentwert = ['Prozentwert', 'prozentwert', 'P']
# Liste der Antwormöglichkeiten des Prozentwertes

user_answer = input('Wollen Sie Grundwert, Prozentsatz oder Prozentwert erechnen?: ')

if user_answer in answer_options_Grundwert:
    print('Geben Sie Prozentsatz und Prozentwert ein, um den Grundwert zu errechnen!')
    p = float(input('Prozentsatz: ')) # float wird benuzt um kommmazahlen auszugeben
    P = float(input('Prozentwert: '))
    print('Der Grundwert beträgt: ' + str(Grundwert(p, P)))

if user_answer in answer_options_Prozentwert:
    print('Geben Sie Prozentsatz und Grundwert ein, um den Prozentwer zu errechnen!')
    p = float(input('Prozentsatz: '))
    G = float(input('Grundwert: '))
    print('Der Prozentwert beträgt: ' + str(Prozentwert(p, G)))

if user_answer in answer_options_Prozentsatz:
    print('Geben Sie Prozentwert und Grundwert ein, um den Prozentsatz zu errechnen!')
    P = float(input('Prozentwert: '))
    G = float(input('Grundtwert: '))
    print('Der Prozentsatz beträgt: ' + str(Prozentsatz(P, G)) + '%')

Re: return anweisung für dumme!!

Verfasst: Mittwoch 19. Mai 2010, 18:52
von nomnom
Ja, du kannst es so machen.

Viele Grüße,
Jakob.

Re: return anweisung für dumme!!

Verfasst: Freitag 21. Mai 2010, 10:39
von mkesper
Es ist besser so, ja: Du verschwendest keine Tipparbeit und das Binden an einen Namen ist hier völlig überflüssig.