Skip to content
English

Topic

Grunnopplæring

Task

Programmering med while-løkker

While-løkker trenger vi blant annet for å fange opp når brukeren av programmet skriver noe annet enn forventet.

Nederst på siden kan du laste ned oppgavene i filformatet til Jupyter Notebook.

Oppgave 1

a) Koding

Programmet nedenfor gir feilmelding. Hva er feil i kodelinjene?

Python
1svar = "nei"
2while svar  =! "ja"
3svar = input("Skriv ja")
4print("Flott, du skrev ja.)
Fasit
  1. Operatoren for "ikke lik" på linje 2 skal være "!=".
  2. Det mangler et kolon på slutten av linje 2.
  3. Linje 3 må rykkes inn.
  4. Det mangler et hermetegn på linje 4 før den siste parentesen.

b) Algoritme

Skriv algoritmen til programmet over.

Løsningsforslag
  • Sett variabelen svar lik "nei".
  • Så lenge variabelen svar ikke er lik "ja": Skriv til skjermen "Skriv ja", ta imot svaret fra brukeren, og lagre det i variabelen svar.
  • Skriv til skjermen "Flott, du skrev ja.".

c) Forklaring

Forklar med ord hvordan programmet fungerer.

Løsningsforslag

Programmet gjør egentleg ingen ting annet enn å skrive ut setningen "Flott, du skrev ja." i linje 4, men det blir ikke gjort før brukeren av programmet skriver "ja".

Oppgave 2

a) Algoritme

Skriv algoritmen til kodelinjene nedenfor.

Python
1tall = 10
2while tall > 1:
3  tall = tall - 1
4  print(f"Tallet er nå {tall}.")
Løsningsforslag
  • Sett variabelen tall lik 10.
  • Så lenge variabelen tall er større enn 1:

    • La verdien av tall minke med 1.
    • Skriv til skjermen "Tallet er nå <tall>.".

b) Forklaring

Forklar hva programmet gjør uten å kjøre det først.

Oppgave 3

fagstoffsiden "Veivalg – if-elif-else" lager vi et program der brukeren av programmet skal skrive om hen er norsk eller svensk. Vi ser nå på en variant der brukeren skal skrive "s" dersom hen er svensk eller "a" dersom hen ikke er svensk. I tillegg vil vi at dersom brukeren er uheldig og skriver noe annet enn "s" eller "a", skal hen få en ny sjanse til å skrive riktig.

a) Algoritme

Skriv algoritmen til et slikt program.

Løsningsforslag
  • Sett variabelen svar lik "noe annet".
  • Så lenge variabelen svar har andre verdier enn "s" eller "a":

    • Skriv til skjermen "Dersom du er svensk, skriv 's'. Dersom du ikke er svensk, skriv 'a'.".
    • Ta imot svaret fra brukeren, og lagre det i variabelen svar.
    • Dersom svar er lik "s": Skriv til skjermen "Du er svensk.".
    • Dersom svar ikke er lik "s", men "a": Skriv til skjermen "Du er ikke svensk.".
    • Dersom svar er lik noe annet enn "s" eller "a": Skriv til skjermen "Du skrev noe som programmet ikke forsto. Prøv en gang til!".

b) Koding

Skriv koden til algoritmen over, og test at programmet fungerer som det skal.

Løsningsforslag
Python
1svar = "noe annet"
2while svar != "s" and svar != "a":
3  print("Dersom du er svensk, skriv 's'.")
4  svar = input("Dersom du er ikke er svensk, skriv 'a'.")
5  if svar == "s":
6    print("Du er svensk.")
7  elif svar == "a":
8    print("Du er ikke svensk.")
9  else:
10    print("Du skrev noe som programmet ikke forsto. "
11    "Prøv en gang til!")

Nedlastbare filer

Her kan du laste ned oppgavene som ei fil i formatet til Jupyter Notebook.

Written by Bjarne Skurdal.
Last updated 03/23/2026