Du forveksler print med return

Handler om: Funksjon

print viser noe på skjermen, men sender ingenting tilbake. return sender en verdi tilbake til den som kalte funksjonen, så verdien kan brukes videre. En funksjon som bare printer (ikke returnerer), gir tilbake None — så svar = f(...) blir None.

Eksempel

Eleven lager en funksjon som printer svaret, og prøver så å regne videre med returverdien.

Slik tenker du riktig om det

Spør: «skal jeg bare SE verdien, eller BRUKE den videre?» Skal du bruke den (lagre, regne videre), trengs return. print er bare visning.

Slik ser det ut i kode

Slik gikk det galt

def dobbel(x):
    print(x * 2)      # viser, men returnerer ikke

svar = dobbel(5)      # svar blir None
print(svar + 1)       # TypeError

Slik fikser du det

def dobbel(x):
    return x * 2       # sender verdien tilbake

svar = dobbel(5)      # svar blir 10
print(svar + 1)       # 11

Les om dette i boka

↓↑ naviger Enter åpne ShiftEnter ny fane Esc lukk
Velg tema
Skala