ÖVNINGSUPPGIFT

Uppgift 4 - Beräkna din nettolön

Försök själv först. Ledtrådar och facit finns längre ner – helt utan inloggning.


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.