Programmet nedanfor gir feilmelding. Kva er feil i kodelinjene?
Python
1svar ="nei"2while svar =! "ja"3svar =input("Skriv ja")4print("Flott, du skreiv ja.)
Fasit
Operatoren for "ikkje lik" på linje 2 skal vere "!=".
Det manglar eit kolon på slutten av linje 2.
Linje 3 må rykkjast inn.
Det manglar eit hermeteikn på linje 4 før den siste parentesen.
b) Algoritme
Skriv algoritmen til programmet over.
Løysingsforslag
Set variabelen svar lik "nei".
Så lenge variabelen svar ikkje er lik "ja": Skriv til skjermen "Skriv ja", ta imot svaret frå brukaren, og lagre det i variabelen svar.
Skriv til skjermen "Flott, du skreiv ja.".
c) Forklaring
Forklar med ord korleis programmet fungerer.
Løysingsforslag
Programmet gjer eigentleg ingen ting anna enn å skrive ut setninga "Flott, du skreiv ja." i linje 4, men det blir ikkje gjort før brukaren av programmet skriv "ja".
På sida fagstoffsida "Vegval – if-elif-else" lagar vi eit program der brukaren av programmet skal skrive om hen er norsk eller svensk. Vi ser no på ein variant der brukaren skal skrive "s" dersom hen er svensk eller "a" dersom hen ikkje er svensk. I tillegg vil vi at dersom brukaren er uheldig og skriv noko anna enn "s" eller "a", skal hen få ein ny sjanse til å skrive rett.
a) Algoritme
Skriv algoritmen til eit slikt program.
Løysingsforslag
Set variabelen svar lik "noko anna".
Så lenge variabelen svar har andre verdiar enn "s" eller "a":
Skriv til skjermen "Dersom du er svensk, skriv 's'. Dersom du ikkje er svensk, skriv 'a'.".
Ta imot svaret frå brukaren, og lagre det i variabelen svar.
Dersom svar er lik "s": Skriv til skjermen "Du er svensk.".
Dersom svar ikkje er lik "s", men "a": Skriv til skjermen "Du er ikkje svensk.".
Dersom svar er lik noko anna enn "s" eller "a": Skriv til skjermen "Du skreiv noko som programmet ikkje forstod. Prøv ein gong til!".
b) Koding
Skriv koden til algoritmen over, og test at programmet fungerer som det skal.
LøysingsforslagPython
1svar ="noko anna"2while svar !="s"and svar !="a":3print("Dersom du er svensk, skriv 's'.")4 svar =input("Dersom du er ikkje er svensk, skriv 'a'.")5if svar =="s":6print("Du er svensk.")7elif svar =="a":8print("Du er ikkje svensk.")9else:10print("Du skreiv noko som programmet ikkje forstod. "11"Prøv ein gong til!")