Programmering

Python-oppgaver til 1T: løkker, vilkår og modeller. Åpne gjerne programmeringsressursen først.

Oppgave P.01 — Din første utskrift

Grunnleggende
I Python bruker vi print() for å vise tekst på skjermen.
a)
Skriv et program som skriver ut Hei, 1T!
b)
Hva skjer hvis du glemmer hermetegnene rundt teksten, altså skriver print(Hei)?

Oppgave P.02 — Variabler

Grunnleggende
En variabel er et navn som lagrer en verdi.

navn = "Sara"
alder = 16
a)
Hva skrives ut her?

x = 7
y = x + 3
print(y)
b)
Lag et program som lagrer navnet ditt og klassen (1T) i to variabler, og skriver ut en setning som bruker begge.

Oppgave P.03 — Regning med tall

Grunnleggende
Python kan regne for deg:
OperatorBetydning
+pluss
-minus
*gange
/dele
**potens
%rest (modulo)
//heltallsdivisjon
a)
Hva skrives ut?

print(2 ** 5)
print(17 % 5)
print(17 // 5)
b)
Skriv et program som regner ut arealet av et rektangel med lengde 88 og bredde 55, og skriver ut svaret.

Oppgave P.04 — input og talltyper

Grunnleggende
input() leser tekst fra brukeren. Hvis du skal regne med tallet, må du gjøre det om med int() eller float().

n = int(input("Skriv et tall: "))
a)
Hvorfor gir dette programmet feil når du skriver inn 4 og forventer 88?

n = input("Tall: ")
print(n * 2)
b)
Rett programmet slik at det skriver ut det dobbelte av tallet brukeren skriver inn.

Oppgave P.05 — if-test

Grunnleggende
En if-test kjører kode bare hvis et vilkår er sant.

if poeng >= 50:
print("Bestått")
a)
Hva skrives ut når alder = 18?

alder = 18
if alder >= 18:
print("Myndig")
print("Ferdig")
b)
Skriv et program som lagrer temperatur = -3 og skriver Frost hvis temperaturen er under 00.

Oppgave P.06 — if og else

Øving
else kjører når vilkåret ikke er sant.

if n % 2 == 0:
print("Partall")
else:
print("Oddetall")
a)
Hva skrives ut for n = 15 i koden over?
b)
Skriv et program der alder = 15. Skriv Voksenbillett hvis alderen er minst 1616, ellers Ungdomsbillett.

Oppgave P.07 — elif (flere valg)

Øving
Når du har flere muligheter, bruker du elif («else if»). Python sjekker ovenfra og tar første treff.

if poeng >= 90:
print("A")
elif poeng >= 80:
print("B")
else:
print("C eller lavere")
a)
Hva skrives ut når poeng = 85?
b)
Utvid programmet slik at:
- minst 9090 → A
- minst 8080 → B
- minst 7070 → C
- ellers → Ikke bestått

Test med poeng = 72.

Oppgave P.08 — for-løkke

Øving
En for-løkke gjentar kode et bestemt antall ganger.

for i in range(5):
print(i)


range(5) gir tallene 0,1,2,3,40, 1, 2, 3, 4 (fem tall, starter på 00).
a)
Hva skrives ut av koden over?
b)
Skriv et program som skriver ut tallene 11 til 1010 (hvert tall på egen linje).

Oppgave P.09 — while-løkke

Øving
En while-løkke kjører så lenge et vilkår er sant. Du må selv oppdatere variabelen, ellers blir det en evig løkke.

n = 3
while n > 0:
print(n)
n = n - 1
a)
Hva skrives ut?
b)
Skriv et program som starter med x = 1 og dobler x helt til x er større enn 100100. Skriv ut x hver gang.

Oppgave P.10 — Løkke og if sammen

Øving
Ofte kombinerer vi for og if.
a)
Hva skrives ut?

for n in range(1, 8):
if n % 2 == 0:
print(n)
b)
Skriv et program som skriver ut alle oddetall fra 11 til 2020.

Oppgave P.11 — Tekst: karaktergrenser

Utfordring
En lærer bruker disse grensene på en prøve (maks 6060 poeng):

- 5454 eller mer: karakter 66
- 4848 eller mer: karakter 55
- 4242 eller mer: karakter 44
- under 4242: ikke bestått

Skriv et program som lagrer poeng = 50 og skriver ut riktig karakter (eller «Ikke bestått»).

Oppgave P.12 — Tekst: summen av de første n oddetallene

Utfordring
Det sies at summen av de nn første oddetallene er n2n^2.
Eksempel: 1+3+5=9=321+3+5 = 9 = 3^2.

Skriv et program som:
1. setter n = 6
2. bruker en for-løkke til å legge sammen de 66 første oddetallene
3. skriver ut både summen og n2n^2, så du kan sjekke at de er like

Oppgave P.13 — Tekst: sparekonto

Utfordring
Nora starter med 200200 kroner på konto. Hver måned setter hun inn 5050 kroner.
Hun vil fortsette helt til hun har minst 500500 kroner.

Skriv et program med while som:
- starter med saldo = 200
- teller antall måneder
- legger til 5050 hver måned
- til slutt skriver ut hvor mange måneder det tok, og sluttbeløpet

Oppgave P.14 — Tekst: kinobillett

Utfordring
En kino har denne prisen:

- Under 1212 år: 8080 kr
- Fra 1212 til og med 1717 år: 110110 kr
- 1818 år eller mer: 150150 kr
- Hvis kunden er student (og minst 1818), får hen 2020 kr i rabatt

Skriv et program med alder = 19 og student = True som skriver ut prisen kunden skal betale.

Oppgave P.15 — Tekst: gangetabell med merkelapper

Utfordring
Du skal lage en oversikt over 77-gangen fra 11 til 1212.

Skriv et program som for hvert tall kk fra 11 til 1212:
- regner ut produkt = 7 * k
- skriver ut k x 7 = produkt
- i tillegg: hvis produktet er delelig med 1010, skriv (delelig med 10) på samme linje

Eksempel på to linjer:
1 x 7 = 7
...
10 x 7 = 70 (delelig med 10)