Gjettelek
Skrevet av: Ole Kristian Pedersen, Kodeklubben Trondheim
Gjett et tall!
I denne oppgaven skal du lage en spill som kalles gjetteleken. Det er meningen at du i denne oppgaven skal skrive all koden selv, ved hjelp av litt hint.
Spillet er som følger:
-
Programmet finner et tilfeldig tall mellom 1 og 100
-
Brukeren gjetter et tall mellom 1 og 100.
-
Programmet skriver ut:
-
Higher!
hvis tallet var for lavt. -
Lower!
hvis tallet var for høyt. -
Hvis brukeren gjetter riktig tall skal programmet skrive ut
Correct!
og avslutte.
-
-
Så lenge brukeren ikke har gjettet tallet, så må programmet spørre om et nytt tall (brukeren har uendelig mange forsøk).
Slik ser det ut når programmet kjører:
Klar, ferdig, programmer!
Nå er det bare å sette i gang! Pass på at du forstår hvordan spillet fungerer før du begynner å programmere! Her er noen hint for å hjelpe deg på vei:
randint()
For å generere tilfelige tall kan det være lurt å bruke funksjonen randint()
. For å bruke randint()
, må vi importere funksjonen:
from random import randint
Hva gjør disse funksjonskallene?
-
randint(1, 100)
-
randint(1000, 1000000)
-
randint(101, 102)
int()
Når man får input fra brukeren får man en tekst, som på fagspråket kalles streng, selv om brukeren skrev et tall, da kan det være greit å kunne konvertere teksten til et tall, ved hjelp av int()
.
Hva er forskjellen på disse kodesnuttene? (Kjør koden og test selv!)
tall = input("Skriv et tall: ")
svar = 3 + tall
print(svar)
tall = int(input("Skriv et tall: "))
svar = 3 + tall
print(svar)
Kontrollstrukturer
Hva slags kontrollstrukturer trenger du?
Eksempel på kontrollstrukturer er for
-løkker, while
-løkker og if-elif-else
-uttrykk.
-
for
-løkker bruker vi når vi vil gjøre noe mange ganger.Eksempel:
# skriv ut ti tall for i in range(10): print('variabelen i er: ' + str(i))
-
while
-løkker brukes når vi vil gjøre noe mange ganger inntil en variabel endrer seg.Eksempel:
a = 0 # så lenge variablen `a` ikke er lik `10` while a != 10: print(a) a = a + 1
Prøv å se hva som skjer dersom du ikke tar med linjen
a = a + 1
. -
if-elif-else
-uttrykk kan bestemme om vi skal kjøre en spesiell kode.Eksempel:
a = 1 if a == 2: print('a er 2') elif a == 3: print('a er 3') else: print('a er ikke 2 og ikke 3')
Prøv å endre verdien
a
på toppen til2
eller3
og se hva som skjer.
Test programmet ditt
7 forsøk
Begrense brukerens forsøk
Lisens: CC BY-SA 4.0
Forbedre denne siden
Funnet en feil? Kunne noe vært bedre?
Hvis ja, vennligst gi oss tilbakemelding ved å lage en sak på Github eller fiks feilen selv om du kan. Vi er takknemlige for enhver tilbakemelding!