While-løkker i Python: oppgaver med fasit
15 oppgaver i while-løkker i Python i 1T, med løsning steg for steg og fasit. Prøv selv først, og trykk «Vis løsning» når du vil sjekke svaret. Oppgavene er sortert fra kort til lang løsning.
Lær dette i Sophus: 8.5 While-løkker og vekst, 8.6 Figurtall og summer med program i Matematikk 1T, med video og øving med nye tall hver gang. Se leksjonen
Lettere oppgaver
Oppgave 1
I hvilken rekkefølge kommer stegene i algoritmen for å summere fyrstikkene?
- A: legg til fyrstikkene; summen = 0; skriv ut summen
- B: skriv ut summen; summen = 0; legg til fyrstikkene
- C: summen = 0; for hver figur: legg til fyrstikkene; skriv ut summen
- D: for hver figur: summen = 0 og legg til; skriv ut summen
Vis løsning på oppgave 1
Start på 0, legg til i løkken, skriv ut etter løkken.
Fasit: C: summen = 0; for hver figur: legg til fyrstikkene; skriv ut summen
Fra leksjon 8.6 Figurtall og summer med program · Se forklaringen i videoen
Oppgave 2
Når stopper en while-løkke?
- A: etter et fast antall runder
- B: når betingelsen blir sann
- C: når betingelsen blir usann
- D: aldri
Vis løsning på oppgave 2
Før hver runde sjekkes betingelsen.
Er den usann, hopper Python ut.
Fasit: C: når betingelsen blir usann
Fra leksjon 8.5 While-løkker og vekst · Se forklaringen i videoen
Oppgave 3
Etter 14 år er beløpet 19 799 kr, og etter 15 år 20 789 kr. Løkken er while belop < 20000. Hva skrives ut?
Vis løsning på oppgave 3
19 799 < 20 000 gir en runde til.
Etter 15 år er betingelsen usann.
Fasit: 15
Fra leksjon 8.5 While-løkker og vekst · Se forklaringen i videoen
Oppgave 4
Hvor mange figurer regnes med i for n in range(1, 51)?
Vis løsning på oppgave 4
n = 1, 2, …, 50: 50 figurer.
Fasit: 50
Fra leksjon 8.6 Figurtall og summer med program · Se forklaringen i videoen
Oppgave 5
Hvor mange figurer regnes med i for n in range(1, 101)?
Vis løsning på oppgave 5
n = 1, 2, …, 100: 100 figurer.
Fasit: 100
Fra leksjon 8.6 Figurtall og summer med program · Se forklaringen i videoen
Middels vanskelige
Oppgave 6
Hva skriver programmet ut?
belop = 10000
ar = 0
while belop < 20000:
belop = belop * 1.04
ar = ar + 1
print(ar)
Vis løsning på oppgave 6
10 000 · 1,04¹⁷ < 20 000, men 10 000 · 1,04¹⁸ ≥ 20 000.
Svaret er 18.
Fasit: 18
Fra leksjon 8.5 While-løkker og vekst · Se forklaringen i videoen
Oppgave 7
Hva skriver programmet ut?
pris = 100
ar = 0
while pris > 30:
pris = pris * 0.9
ar = ar + 1
print(ar)
Vis løsning på oppgave 7
100 · 0,9¹¹ > 30, men 100 · 0,9¹² ≤ 30.
Svaret er 12.
Fasit: 12
Fra leksjon 8.5 While-løkker og vekst · Se forklaringen i videoen
Oppgave 8
Hvilke tall skriver programmet ut?
for n in range(1, 5):
print(2*n + 2)
- A: 2, 4, 6, 8
- B: 4, 6, 8, 10
- C: 4, 6, 8, 10, 12
- D: 6, 8, 10, 12
Vis løsning på oppgave 8
n = 1, 2, 3, 4 gir 4, 6, 8, 10.
Fasit: B: 4, 6, 8, 10
Fra leksjon 8.6 Figurtall og summer med program · Se forklaringen i videoen
Oppgave 9
Hva skriver programmet ut?
belop = 10000
ar = 0
while belop < 20000:
belop = belop * 1.1
ar = ar + 1
print(ar)
Vis løsning på oppgave 9
10 000 · 1,1⁷ < 20 000, men 10 000 · 1,1⁸ ≥ 20 000.
Svaret er 8.
Fasit: 8
Fra leksjon 8.5 While-løkker og vekst · Se forklaringen i videoen
Oppgave 10
Hva skriver programmet ut?
pris = 100
ar = 0
while pris > 50:
pris = pris * 0.8
ar = ar + 1
print(ar)
Vis løsning på oppgave 10
100 · 0,8³ > 50, men 100 · 0,8⁴ ≤ 50.
Svaret er 4.
Fasit: 4
Fra leksjon 8.5 While-løkker og vekst · Se forklaringen i videoen
Mer krevende
Oppgave 11
Hvilke tall skriver programmet ut?
for n in range(1, 5):
print(2*n - 1)
- A: 1, 3, 5, 7, 9
- B: 1, 3, 5, 7
- C: −1, 1, 3, 5
- D: 0, 2, 4, 6
Vis løsning på oppgave 11
n = 1, 2, 3, 4 gir 1, 3, 5, 7.
Fasit: B: 1, 3, 5, 7
Fra leksjon 8.6 Figurtall og summer med program · Se forklaringen i videoen
Oppgave 12
Hva skriver programmet ut?
belop = 10000
ar = 0
while belop < 20000:
belop = belop * 1.05
ar = ar + 1
print(ar)
Vis løsning på oppgave 12
10 000 · 1,05¹⁴ < 20 000, men 10 000 · 1,05¹⁵ ≥ 20 000.
Svaret er 15.
Fasit: 15
Fra leksjon 8.5 While-løkker og vekst · Se forklaringen i videoen
Oppgave 13
Hva skriver programmet ut?
pris = 100
ar = 0
while pris > 30:
pris = pris * 0.8
ar = ar + 1
print(ar)
Vis løsning på oppgave 13
100 · 0,8⁵ > 30, men 100 · 0,8⁶ ≤ 30.
Svaret er 6.
Fasit: 6
Fra leksjon 8.5 While-løkker og vekst · Se forklaringen i videoen
Oppgave 14
Hva skriver programmet ut?
s = 0
for n in range(1, 51):
s = s + 2*n + 1
print(s)
Vis løsning på oppgave 14
2 · 50 · 51 delt på 2 + 1 · 50 = 2 550 + 50 = 2 600.
Fasit: 2 600
Fra leksjon 8.6 Figurtall og summer med program · Se forklaringen i videoen
Oppgave 15
Hva skriver programmet ut?
s = 0
for n in range(1, 101):
s = s + 2*n + 1
print(s)
Vis løsning på oppgave 15
2 · 100 · 101 delt på 2 + 1 · 100 = 10 100 + 100 = 10 200.
Fasit: 10 200
Fra leksjon 8.6 Figurtall og summer med program · Se forklaringen i videoen
Fasit
Vis fasit til alle oppgavene
- Oppgave 1: C: summen = 0; for hver figur: legg til fyrstikkene; skriv ut summen
- Oppgave 2: C: når betingelsen blir usann
- Oppgave 3: 15
- Oppgave 4: 50
- Oppgave 5: 100
- Oppgave 6: 18
- Oppgave 7: 12
- Oppgave 8: B: 4, 6, 8, 10
- Oppgave 9: 8
- Oppgave 10: 4
- Oppgave 11: B: 1, 3, 5, 7
- Oppgave 12: 15
- Oppgave 13: 6
- Oppgave 14: 2 600
- Oppgave 15: 10 200
Oppgavene hører til leksjonene 8.5–8.6 i modulen Programmering og algoritmer, som øves til del 1 og del 2. Les mer om eksamen i 1T, og bruk formelarket for 1T når du øver.
Les også
- While-løkker og vekst – forklart steg for steg
- Figurtall og summer med program – forklart steg for steg
- Del 1 uten hjelpemidler: oppgaver med fasit
- Algoritmer i Python: oppgaver med fasit
- Alle oppgavene i 1T
- Begrepene i 1T forklart
Oppgavene er laget av Sophus med de samme oppgavemalene som i kurset, og løsningene er kontrollert av en regnekontroll. Ser du likevel en feil, si fra på kontakt@sophus.no, så retter vi den.