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:
- Hvis inntekten er under eller lik 200 000 kroner skal personen betale 25% i skatt
- Hvis inntekten er over 200 000 kroner og lavere enn 500 000 kroner, skal personen betale 30% i skatt
- Hvis inntekten er 500 000 kroner eller mer, skal personen betale 45% i skatt.
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
-
Lag først en funksjon
beregn_formueskatt
som tar ett parameterformue
og som returnerer formueskatten som skal betales gitt den formuen. Formueskatten er alltid på 5% av formuen. -
Lag en funksjon
beregn_total_skatt
som tar to parametereinntekt
ogformue
. Inne i denne funksjonen skal du kalle funksjoneneberegn_inntektsskatt
ogberegn_formueskatt
, legge sammen beløpene og returnere den totale skatten som skal betales. Kall funksjonenberegn_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.
- Skriv kode som henter ut og printer hvor mye den første personen tjente det 3. året.
- 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]}
-
Skriv kode for å hente ut inntekten til Olga det første året.
-
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
-
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.
-
Skriv kode som skriver navnet på alle som ikke har betalt skatt til en ny fil (ett navn på hver linje).