Python: Warum wird am Ende jedes mal "none" von der Konsole ausgegeben?
hier mein quelltext:
def restgeldfunktion(r):
while (r>2):
r = r - 2
print("2 Euro zurueckgegeben")
else:
while (r > 1):
r = r - 1
print("1 Euro zurueckgegeben")
else:
while (r > 0.5):
r = r - 0.5
print("50 Cent zurueckgegeben")
else:
if (r != 0):
print(r, " Cent Guthaben")
test = restgeldfunktion(7.75)
print(test)
die Ausgaben sind immer so wie sie sein müssen außer dass am ende neben dem was "geprintet" werden soll auch noch "none" als string wiedergegeben wird. Kann mir jemand sagen wo mein Fehler liegt oder welche Zeile ich ändern muss?
Danke im Voraus
3 Antworten
Deine Funktion gibt nichts zurück, aber du versuchst das Ergebnis der Funktion auszugeben. Das ist dann halt eben null. Entferne das print(test)
Wie die anderen schon gesagt haben: Deine Funktion hat keinen Rückgabewert, darum kannst du nichts printen.
Um das zu beheben, entferne das letzte print oder schreib in deinem Code z.B. nach print(r, " Cent Guthaben") einfach "return r"
Du gibst in der Methode "restgeldfunktion" nichts zurück. Deshalb wird der default Wert "none" zurückgegeben.