Enkle oppgaver (repetisjon)

Disse oppgavene går gjennom det vi har lært til nå, og starter veldig enkelt. Jobb gjerne sammen to og to. Hopp over oppgaver du føler deg helt trygg på.

Oppgave 1: Prosedyrer og if/else/elif

Lag en prosedyre som du kaller print_inntektsskatt. I prosedyren skal du be brukeren skrive en inntekt, og du skal printe ut hvor mye skatt (det faktiske beløpet) personen skal betale:

Oppgave 2: Funksjoner

Lag en funksjon beregn_inntektsskatt som fungerer som prosedyren din i oppgave 1, men i stedet tar et parameter inntekt. Ikke print noe inne i funksjonen, men returner skattebeløpet.

Kall funksjonen din tre ganger med ulike beløp og print skatten, f. eks slik:

skatt = beregn_skatt(50000)
print("Skatt som skal betales: ", skatt)
# ...

Oppgave 3: Kalle funksjoner fra en funksjon

  1. Lag først en funksjon beregn_formueskatt som tar ett parameter formue og som returnerer formueskatten som skal betales gitt den formuen. Formueskatten er alltid på 5% av formuen.

  2. Lag en funksjon beregn_total_skatt som tar to parametere inntekt og formue. Inne i denne funksjonen skal du kalle funksjonene beregn_inntektsskatt og beregn_formueskatt, legge sammen beløpene og returnere den totale skatten som skal betales. Kall funksjonen beregn_total_skatt for å sjekke at den virker.

Oppgave 4: For-løkker

Vi ønsker nå å printe en fin oversikt over hvor mye inntektsskatt man må betale ved ulike inntektsnivåer.

Print først, ved hjelp av en for-løkke: Hvor mye skatt man må betale hvis man tjener 1 krone, 2 kroner, 3 kroner osv helt opp til 100 kroner.

Endre deretter for-løkken slik at den printer ut skatten ved 10 000 kr, 20 000 kr, 30 000 kr osv helt opp til 500 000 kr.

Oppgave 5: Lister

Vi er interessert i å printe skatten kun for et utvalg av inntekter: 33 000 kr, 700 000 kr, 2 500 000 kr og 100 000 000 kr.

Lag en liste som inneholder disse inntektene, og bruk en for-løkke til å printe ut skatten man må betale for disse inntektene.

Ekstraoppgave: Før du printer ut skatten, ta inn en ekstra inntekt ved hjelp av input og legg den inntekten til i listen.

Oppgave 6: Lister i lister

Vi tenker oss at denne listen representerer inntekten hvert år i løpet av 3 år for en person:

[100000, 150000, 125000]

Hvis vi ønsker å representere inntekten over 3 år til flere personer, kan vi bruke en liste til å representere alle personene, og la hvert element i listen være en ny liste som representerer inntekten for de tre årene:

inntekter = [[100000, 150000, 125000], [100, 0, 500], [1000000, 500000, 650000]]

Listen over inneholder inntektene over tre år til tre personer.

  1. Skriv kode som henter ut og printer hvor mye den første personen tjente det 3. året.
  2. Skriv kode som finner den høyeste årsinntekten blant alle personene og alle årene.

Oppgave 7: Ordbøker med lister som verdier

For å repesentere personer med navn og inntekt over tre år kan vi bruke en ordbok i stedet for den nestede listen i forrige oppgave:

inntekter = {"Per": [100000, 150000, 125000], "Bjarne": [100, 0, 500], "Olga": [1000000, 50000, 650000]}
  1. Skriv kode for å hente ut inntekten til Olga det første året.

  2. Skriv kode som lager en ny ordbok skatt hvor nøkkelen er navnet til en person og verdien er et tall som sier hvor mye inntektsskatt den personen skal betale det 3. året. Slå opp hvor mye skatt Bjarne skal betale og print resultatet.

Oppgave 7: Lese fra og skrive til fil

Denne filen inneholder navn på en person, inntekt og hvor mye personen betalte i inntektsskatt. Vi ønsker å finne personer som har betalt feil skatt (altså hvor skatten ikke stemmer overens med det du får om du beregner skatten ved hjelp av beregn_inntektsskatt):

Lagre filen som skatt.txt:

Ronny 100000 500
Anne 125000 37500
Karl 60000 270000
Kari 65000 273500
  1. Skriv et program som leser hver linje fra filen, henter ut navn, inntekt og det personen har betalt i skatt. Print navnet på alle personer som har betalt for lite skatt.

  2. Skriv kode som skriver navnet på alle som ikke har betalt skatt til en ny fil (ett navn på hver linje).