Oppg-4-4

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