Oppg-2-3

Øving 2 – Oppgave 3

a)

Gjett tallet! Programmet under er et program som lagrer et hemmelig tall mellom 1-100 i en variabel og spør brukeren om å gjette tallet. Det som mangler i programmet er betingelsen(e) for å gi beskjed om tallet som ble gjettet var for høyt eller for lavt. Hvis brukeren gjetter feil skal han/hun få beskjed om å prøve på nytt. Skriv den manglende koden slik at programmet fungerer.

Program:



import random

hemmeligTall = random.randint(0,100) # Hent et tilfeldig tall

gjettet = 0 # Initier variabelen for gjettet tall
antGjett = 0 # Initier counter for antall forsøk

while gjettet != hemmeligTall:
    
    gjettet = int(input('Gjett det hemmelige tallet (1-100): ')) # Ta inn et gjett fra bruker
    antGjett += 1 # Øk antall forsøk med 1 for hver runde
    
    ### Skriv din kode under denne linjen ###
    
    
    ### Skriv din kode over denne linjen ###

print('Du gjettet riktig! Det hemmelige tallet var', hemmeligTall, '. Du brukte', antGjett, 'forsøk.')

Løsningsforslag:


## Oppgave 3a svar

import random

hemmeligTall = random.randint(0,100) # Hent et tilfeldig tall

gjettet = 0 # Initier variabelen for gjettet tall
antGjett = 0 # Initier counter for antall forsøk

while gjettet != hemmeligTall:
    
    gjettet = int(input('Gjett det hemmelige tallet (1-100): ')) # Ta inn en gjetting fra bruker
    antGjett += 1 # Øk antall forsøk med 1 for hver runde
    
    ### Skriv din kode under denne linjen ###

    if gjettet < hemmeligTall:
        print('Tallet du gjettet var for lavt! Prøv igjen...')
    elif gjettet > hemmeligTall:
        print('Tallet du gjettet var for høyt! Prøv igjen...')
        
    ### Skriv din kode over denne linjen ###

print('Du gjettet riktig! Det hemmelige tallet var', hemmeligTall, '. Du brukte', antGjett, 'forsøk.')



b)

Nedenfor følger en kodesnutt hvor brukeren bes om å gi to tall innenfor et lovlig verdiområde, som forklart av ledeteksten – altså mellom 40-50 eller mellom 70-90. Om ikke begge tallene har fått lovlig verdi, skal koden i else-blokken utføres.

Dessverre er det feil i koden som gjør at den ikke fungerer slik den skal. Din oppgave er å rette opp i disse feilene.

Program:


print("Gi a og b, begge heltall i intervall <40,50> eller <70,90>:" )
a = int(input("Verdi for a: "))
b = int(input("Verdi for b: "))
  
if (a > 70 and a << 90) or (a > 40 and not a >= 50) and ( 70 < b < 90 or (b > 40 and b < 50)):
    print("Tallene er begge innenfor gyldige intervall.")
else:
    print("Minst ett av tallene er utenfor et gyldig intervall.")

 

Løsningsforslag:


## Oppgave 3b svar

print("Gi a og b, begge heltall i intervall <40,50> eller <70,90>:" )

a = int(input("Verdi for a: "))
b = int(input("Verdi for b: "))

#and (40 > b < 50 or (b > 70 and b < 90))
    
if ((a > 40 and a < 50) or (a > 70 and a < 90)) and ((b > 40 and b < 50) or (b > 70 and b < 90)):
    print("Tallene er begge innenfor gyldige intervall.")
else:
    print("Minst ett av tallene er utenfor et gyldig intervall.")

c)

Hva blir printet til konsoll av programmet under hvis x = -5 ? Her er det meningen at du ikke skal kjøre koden for å se resultatet, men finne ut av oppgaven ved å se gjennom koden.

if -4 <= x or x >= 2:

print(x**3)
elif x == (5-10):

print(x+x)
elif 25/x < 4 and x >=0:

print(x+5)
elif x <= 25/7 or x == 0:

print(x)
else:

print(x-5)

Løsningsforslag

Oppgave 3c svar

x = -10, siden x == 5-10 er sann.