Ø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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | # 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)? ' ) |