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