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.
Jede Funktion liefert einen Rückgabewert. Wenn dieser nicht explizit angegeben wird ist er None. Und da du print(zahlen_dreieck(a)) ausführst wird der Rückgabewert des Aufrufs von zahlen_dreieck natürlich ausgegeben. Du möchtest vielleicht das print weglassen.
@Bindl: Ähm, das macht so überhaupt gar keinen Sinn das ``return``. Und es kann bei einem bestimmten, IMHO legalen, Wert für `b` sogar zu einem `NameError` führen.
@Bindl: weißt Du, was der Rückgabewert von »print« ist? Welcher Rückgabewert macht für Deine Funktion Sinn? Was machst Du mit dem Rückgabewert Deiner Funktion?