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:


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