Ø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)? ')