Detta är en förenklad räkneövning med givna löne- och skattesatser. Den beräknar inte verklig svensk skatt. Anta att antalet timmar är ett icke-negativt heltal.
Nyckelord: If-satser, input

Beräkna nettolönen med if-satser
I denna uppgift ska vi göra ett program som beräknar ut hur mycket nettolön man får ut för månaden, det vill säga lönen efter skatt. Utgå från nedanstående specifikation:
Bruttolön (före skatt)
- Grundlön: 145 kr per timme och gäller de första 160 timmarna i månaden.
- Övertid: 240 kr / timme och gäller alla timmar efter 160 timmar.
Exempel: Om inmatningen är 182 timmar så är grundlönen 160 timmar och övertidslönen är 22 timmar.
Skatt
- Bruttolönen som anges är före skatt. Skatten är i denna uppgift 20% på grundlönen och 25% skatt på övertidslönen.
Ledtråd
I denna uppgift försöker vi utan ledtråd ;-) Men försök några gånger själv först innan du tittar på svaret, då lär man sig bäst!
Lösning
# Ange lön-variablerna
salary_per_hour = 145
salary_overtime = 240
# Ange andelen som är kvar efter skatt.
# Faktorn 0.8 och 0.75 är resultatet av 20% och 25% avdrag för skatt respektive
taxes = 0.8
taxes_overtime = 0.75
# Skapa en input från terminalen
hours = int(input("Ange antal jobbade timmar under månaden: "))
if hours < 0:
raise ValueError("Antalet timmar får inte vara negativt")
# Första fallet är om arbetade timmar är lägre eller lika med 160
if (hours <= 160) :
salary = salary_per_hour * hours * taxes
elif(hours > 160) :
# Beräkna antal övertidstimmar
overtime = hours - 160
# Beräkna totala lönen.
salary = (160 * salary_per_hour) * taxes + (overtime * salary_overtime) * taxes_overtime
# Skriv ut svaret
print(f"Lönen efter skatt blev: {salary}")
I kommentarerna i koden ser du steg och steg var som händer i koden.