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).