Anfänger Frage : mit return Wert aus Modul weiterrechnen (NameError)

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
SITARUK
User
Beiträge: 4
Registriert: Donnerstag 11. Januar 2018, 21:57

Hallo,

ich habe ein modul für einen Würfelprozess geschrieben

Code: Alles auswählen

from random import randint

def wuerfeln():
    pasch = ""
    wuerfel_1 = randint (1,6)
    wuerfel_2 = randint (1,6)
    wurf_gesamt = wuerfel_1 + wuerfel_2
    if wuerfel_1 == wuerfel_2:
        pasch = "pasch"
    else:
        pasch = "kein Pasch"
    
    print ("Würfel 1 : ",wuerfel_1)
    print ("Würfel 2 : ",wuerfel_2)
    print ("Wurfgesamt : ",wurf_gesamt)
    print (pasch)
    return wurf_gesamt
    return pasch

Nun möchte ich das modul aufrufen und mit dem return Wert wurf_gesamt weiterrechnen.
Er findet diesen jedoch nicht (NameError: name 'wurf_gesamt' is not defined).

Code: Alles auswählen

from wuerfeln import wuerfeln

pos_aktuell=0

wuerfeln()
pos_aktuell = pos_aktuell + wurf_gesamt

print (pos_aktuell)
Wie kann ich auf den return Wert zugreifen ?
Zuletzt geändert von SITARUK am Dienstag 16. Januar 2018, 19:25, insgesamt 1-mal geändert.
Mit freundlichen Grüßen aus Dortmund
Sirius3
User
Beiträge: 17710
Registriert: Sonntag 21. Oktober 2012, 17:20

@SITARUK: `pasch` mit leerem String zu initialisieren ist unnötig und sogar gefährlich, weil dann vielleicht ein fehlender if-Zweig übersehen wird. Das zweite `return` ist quatsch, wenn Du mehrere Werte zurückgeben willst, benutze Tuple. Und zur Frage, Du mußt den Rückgabewert schon einer Variable zuweisen.

Code: Alles auswählen

wurf_gesamt = wuerfeln()
SITARUK
User
Beiträge: 4
Registriert: Donnerstag 11. Januar 2018, 21:57

super, hat funktioniert - Danke!
Mit freundlichen Grüßen aus Dortmund
Antworten