Ø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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | 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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | ## 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:
1 2 3 4 5 6 7 8 | 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:
1 2 3 4 5 6 7 8 9 10 11 12 13 | ## 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.