deffunksjon():print("Jeg er innrykket, og er del av funksjonen")print("Jeg er ikke en del av funksjonen - fordi jeg mangler innrykk")ifx==1:print("Jeg printer hvis x er 1")print("Jeg printer uansett")
Du kombinere innrykk med continue, break eller return funksjonene til feilhåndtering, lettest å forstå i et eksempel:
defValg():print("Velg 1 for Høyre, 2 for Venstre, 3 for Midten")svar=input("[1/2/3]: ")ifsvar=="1":return"Høyre"ifsvar=="2":return"Venstre"ifsvar=="3":return"Midten"# Hvis ingen av if-statementsene er sanne, så har ikke funksjonen returnert noe enda# Da er mest sannsynlig svaret skrevet feil!print("Her har du valgt feil! Prøv igjen")Valg()print(Valg)
Bruk av break eller continue er mest nyttig når vi jobber med store JSON datasett:
struktur={'salg':[{'id':1,'verdi':800,'kategori':12},{'id':2,'verdi':1200,'kategori':12},{'id':3,'verdi':200,'kategori':17}]}defFinnForsteSalgVerdiIKategori(kategori):Resultat="Ingen salg i kategori "+str(kategori)# Start av løkke (for x in y:)forverdiinstruktur['salg']:ifverdi['kategori']==kategori:Resultat=verdi['verdi']# Bryter opp en løkke (for-løkken)breakreturnResultatdefSumSalgEksludertKategori(kategori):Sum=0forverdiinstruktur['salg']:ifverdi['kategori']==kategori:# Hvis kategori er lik, hopp overcontinue# Hvis den ikke var lik, så ble den ikke hoppet over# Legg derfor til verdien.Sum+=verdi['verdi']returnSumprint(FinnForsteSalgVerdiIKategori(17))# 200print(FinnForsteSalgVerdiIKategori(12))# 800print(FinnForsteSalgVerdiIKategori(13))# Ingen salg i kategori 13print(SumSalgEksludertKategori(1))# 2200print(SumSalgEksludertKategori(12))# 200print(SumSalgEksludertKategori(17))# 2000