in Zeile 5 Sie sagen:
return print("Error: Invalid Argument Type")
Das ist nicht Python nicht sagen, die Zeichenfolge in der Druckfunktion zurückzukehren. Stattdessen teilt dies Python mit, die Druckfunktion zurückzugeben.
Wahrscheinlich wird dies deutlicher machen:
In Ihrer letzten Zeile schreiben Sie:
print (int_mult(4.49,"apple"))
Also zuerst Python läuft die int_mult() Funktion und die Funktion gibt
print("Error: Invalid Argument Type")
dann Python druckt, genau wie Sie in Ihrer letzten Zeile angeordnet haben, genau das, was Ihre Funktion Int_mult() zurückgegeben hat. Für Python sieht es wie folgt aus:
print (print("Error: Invalid Argument Type"))
In dieser Zeile Python läuft zunächst die Funktion print("Error: Invalid Argument Type")
und druckt die Zeichenfolge. Danach läuft python print ( print ("Fehler: Ungültiger Argumenttyp") ) und druckt die Druckfunktion was None
oder etwas wie <function house at 0x7f494763abf8>
zurückgibt.
Wenn ich Sie wäre, würde ich gerade Linie 5 ändern zu
return ("Error: Invalid Argument Type")
und Ihre letzte Zeile zu
print (int_mult(4.49,"android"))
;)
Ich hoffe, dass ich Ihnen geholfen haben.
Was soll es zurückgeben? Es tut * genau * was es sollte, denn 'print' gibt None zurück. Möchten Sie verhindern, dass der zurückgegebene Wert gedruckt wird, wenn ein Fehler auftritt? – CodenameLambda
Wenn es den "Fehler: Ungültiger Argumenttyp" trifft, möchte ich nicht, dass es auch "None" druckt. Was macht es gerade? Gibt es eine Möglichkeit, dies zu tun, ohne die print-Anweisung zu ändern und nur daran zu arbeiten, was in der Funktion ist? – user148615