Øvelse 4 – Oppgave 4
Utvidelse av programmet «Finn multiplikatoren» fra test-deg-selv uke 37.
En mulig løsning på oppgaven fra uke 37 er gjengitt under, og denne oppgaven var:
Skriv et program som bruker random-biblioteket. Angi en variabel med et tilfeldig tall mellom 1-10 med funksjonen «random.randrange(1,10)», og spør brukeren om å angi et tall mellom 1-100. Multipliser tallet som brukeren angir med det tilfeldige tallet, og spør brukeren om å prøve å gjette hvilket tall mellom 1-10 han/hennes tall ble multiplisert med. Print ut hva brukeren gjettet, og hva som var riktig multiplikator.
I denne oppgaven skal du skrive om programmet slik at det bruker funksjoner:
- Lag funksjoner for å 1) hente inn gjetting og 2) vurdere om gjettingen var riktig
- Fortell brukeren om gjettingen var riktig eller feil og la han/hun prøve å gjette på nytt hvis svaret var feil
- Når brukeren har funnet riktig svar, spør om han/hun vil spille på nytt, og start programmet på nytt hvis svaret er «ja»
Løsningsforslag:
# Oppgave 4 svar
import random
ny = 'j'
def gjett(hemTall,brukTall,res):
gjettet = 0
while hemTall != gjettet:
gjettet = int(input('Gjett det hemmelige tallet: '))
if hemTall == gjettet:
print('Riktig!', gjettet , 'multiplisert med ',hemTall,'blir', res)
else:
print('Feil.. Prøv igjen: ')
def main():
hemTall = random.randrange(1,10)
brukTall = int(input('Skriv et tall mellom 1-100 som skal multipliseres med det hemmelige tallet: '))
res = brukTall*hemTall
print('Tallet du skrev inn var', brukTall,'. Multiplisert med det hemmelige tallet ble det', res)
print('Kan du gjette hva det hemmelige tallet er? ')
gjett(hemTall, brukTall, res)
while ny.lower() == 'j':
main()
ny = input('Vil du prøve igjen (J/N)? ')
