Gjetteleik
Skrevet av: Ole Kristian Pedersen, Kodeklubben Trondheim
Oversatt av: Stein Olav Romslo
Gjett eit tal!
I denne oppgåva skal du lage eit spel som kallast gjetteleik. Det er meininga at du skal skrive all koden sjølv, men sjølvsagt får du nokre hint.
Spelet er som følgjer:
-
Programmet finn eit tilfeldig tal mellom 1 og 100.
-
Spelaren gjettar eit tal mellom 1 og 100.
-
Programmet skriv ut:
-
Høgare!
viss talet var for lågt. -
Lågare!
viss talet var for høgt. -
Viss brukaren gjettar riktig tal skal programmet skrive ut
Korrekt!
og avslutte.
- Så lenge spelaren ikkje har gjetta riktig tal, så må programmet spørje om eit nytt tal (brukaren har uendeleg mange forsøk).
Slik ser det ut når programmet køyrer:

Klar, ferdig, programmer!
No er det berre å setje i gang! Pass på at du forstår korleis spelet fungerer før du startar å programmere! Her er nokre hint for å hjelpe deg på veg:
randint()
For å generere tilfeldige tal kan det vere lurt å bruke funksjonen randint()
. For å bruke randint()
, må me importere funksjonen:
from random import randint
Kva gjer desse funksjonskalla?
-
randint(1, 100)
-
randint(1000, 1000000)
-
randint(101, 102)
int()
Når ein får input frå spelaren får me ein tekst, som på fagspråket kallast ein streng, sjølv om brukaren skreiv inn eit tal. Då kan det vere greitt å kunne konvertere teksten til eit tal, ved hjelp av int()
.
Kva er skilnaden på desse kodesnuttane? Køyr koden og test sjølv!
tal = input("Skriv eit tal: ")
svar = 3 + tal
print(svar)
tal = int(input("Skriv eit tal: "))
svar = 3 + tal
print(svar)
Kontrollstrukturar
Kva slags kontrollstrukturar treng du?
Døme på kontrollstrukturar er for
-løkker, while
-løkker og if-elif-else
-uttrykk.
-
Me brukar
for
-løkker når me vil gjere noko mange gonger.Døme:
# skriv ut ti tal for i in range(10): print('variabelen i er: ' + str(i))
-
Me brukar
while
-løkker når me vil gjere noko heilt til ein variabel endrar seg.Døme:
a = 0 # så lenge variabelen `a` ikkje er lik `10` while a != 10: print(a) a = a + 1
Prøv å sjå kva som skjer viss du ikkje tek med linja
a = a + 1
. -
Me kan bruke
if-elif-else
-uttrykk for å bestemme om me skal køyre ein spesiell kode.Døme:
a = 1 if a == 2: print('a er 2') elif a == 3: print('a er 3') else: print('a er ikkje 2 og ikkje 3')
Prøv å endre verdien
a
på toppen til2
eller3
og sjå kva som skjer.
Test programmet ditt
7 forsøk
Avgrens spelaren sine forsøk
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!