return anweisung für dumme!!

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
19simon96
User
Beiträge: 16
Registriert: Mittwoch 19. Mai 2010, 17:12

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
nomnom
User
Beiträge: 487
Registriert: Mittwoch 19. Mai 2010, 16:25

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.
19simon96
User
Beiträge: 16
Registriert: Mittwoch 19. Mai 2010, 17:12

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
nomnom
User
Beiträge: 487
Registriert: Mittwoch 19. Mai 2010, 16:25

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.
Benutzeravatar
jonas
User
Beiträge: 156
Registriert: Dienstag 9. September 2008, 21:03

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:
querdenker
User
Beiträge: 424
Registriert: Montag 28. Juli 2003, 16:19
Wohnort: /dev/reality

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.
I'm not getting paid for being Mr. Nice Guy!
19simon96
User
Beiträge: 16
Registriert: Mittwoch 19. Mai 2010, 17:12

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??
19simon96
User
Beiträge: 16
Registriert: Mittwoch 19. Mai 2010, 17:12

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)) + '%')
nomnom
User
Beiträge: 487
Registriert: Mittwoch 19. Mai 2010, 16:25

Ja, du kannst es so machen.

Viele Grüße,
Jakob.
Benutzeravatar
mkesper
User
Beiträge: 919
Registriert: Montag 20. November 2006, 15:48
Wohnort: formerly known as mkallas
Kontaktdaten:

Es ist besser so, ja: Du verschwendest keine Tipparbeit und das Binden an einen Namen ist hier völlig überflüssig.
Antworten