Python-Funktion druckt Keiner
Habe ich die folgende übung:
Den parameter Wochentag gilt, wenn es
ein Wochentag, und die parameter Ferien
ist Wahr, wenn wir im Urlaub sind. Wir
schlafen, wenn es nicht einen Wochentag oder
wir sind im Urlaub. Gibt True zurück, wenn wir
schlafen in.
Hier ist, was ich getan habe, aber die zweite print-Funktion druckt nur 'None'
.
def sleep_in(weekday, vacation):
if(not weekday or vacation):
return True
print(sleep_in(False, False))
print(sleep_in(True, False))
print(sleep_in(False, True))
Ausgabe:
True
None
True
InformationsquelleAutor | 2010-10-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
Funktionen in python zurück
None
sofern nicht ausdrücklich angewiesen, nichts anderes zu tun.In Ihrer Funktion vor, die Sie nicht berücksichtigen, der Fall, in dem der Wochentag wird
True
. Der interpreter das Ende erreicht, der die Funktion Lesen, ohne auf eine return-Anweisung (da der Zustand predecing yours ausgewertetFalse
), und zurückNone
.Bearbeiten:
Geht es dir =)
Die Klammern sind nicht nötig, ja, aber Sie wohl hinzufügen Klarheit.
und obskuren vision.
Ich denke, es ist gute Praxis, um zu schließen diese Art von Vergleich-Logik in Klammern, auch wenn die Vorrang-Regeln überflüssig machen.
InformationsquelleAutor slezica