Test-deg-selv uke 39/40/41

Informasjon om test-deg-selv

Dette er oppgaver som er ment som mengdetrening i programmering. Det legges ut løsningsforslag etter at vi har gått gjennom og løst oppgavene i webinaret. Se Blackboard for mer informasjon om tidspunkt for dette.

Oppgavene er strukturert på samme måte som i øvingene: Det er tre kategorier: 1(grunnleggende), 2(forventet), 3(avansert). Kategori 1 og 3 har én oppgave hver, imens kategori 2 har fire oppgaver. Oppgavene i kategori 2 er det forventet at man klarer å løse.

Står du fast? Prøv å google problemet, eller spør om tips eller hjelp på Slack :)

Temaer disse ukene er:

  • If/Else
  • Boolske uttrykk
  • Logiske operatorer

1.1

Skriv et program med et if-statement som printer ut "Hei verden!"

In [3]:
## 1.1 Svar
if 1 < 2:
    print('Hei verden!')

2.1

Få print-setningen til å kjøre.

In [10]:
## 2.1 Svar

a = False # Skriv inn True eller False
b = True # Skriv inn True eller False
c = True # Skriv inn True eller False

if not(a and b) and c:
    print('Du fikk det til!')

2.2

Fullfør koden der det er angitt i koden under, slik at koden gjør følgende:

Print ut det største tallet, ved hjelp av IF ELSE. Hvis tallene er like store skal begge skrives ut.

In [11]:
## 2.2 Svar

import random
a = random.randint(1,10)
b = random.randint(1,10)

## Din kode her

if a > b:
    print('A var størst:',a)
elif b > a:
    print('B var størst:',b)
else:
    print('Tallene var like store:',a,b)

print("Tallene var: a:", a," b:", b) # Printer ut begge tallene til slutt

2.3

Skriv et program som spør brukeren om å skrive inn et telefonnummer. Programmet skal sjekke om tallet er et gyldig telefonnummer ved å sjekke at lengden på tallet er riktig. For å sjekke lengden kan du bruke den innebygde funksjonen len(), les mer om det her: https://www.w3schools.com/python/ref_func_len.asp. Hvis tallet er for kort eller for langt skal det skrives ut til konsoll med en forklarende setning. Hvis tallet har riktig lengde skal det også skrives til konsoll.

In [15]:
## 2.3 Svar

tall = int(input('Skriv et telefonnummer: '))

tallLen = len(str(tall))

if tallLen < 8:
    print('Nummeret du skrev er for kort.')
elif tallLen > 8:
    print('Nummeret du skrev er for langt.')
else:
    print('Takk, telefonnummeret du skrev er:',tall)

2.4

Fullfør koden under (fjern prikkene og skriv koden som mangler) for å få den til å kjøre slik at print-setningene blir riktige ut fra hva som gis som input fra bruker.

In [15]:
## 2.4 Svar

a = int(input('Skriv inn et tall A mellom 1-10! '))
b = int(input('Skriv inn et tall B mellom 1-10! '))

if a > b:
    print("A er større enn B")
else:
    print("A er ikke lik B")
  
if b > a:
    print("B er større enn A")
else: 
    print('A er lik B')

3.1

Skriv et program som tar inn en total poengsum mellom 0-100 fra bruker. Programmet skal printe til konsoll hvilken karakter poengsummen tilsvarer eller skalaen under. Print-setningen skal også inneholde forklarende tekst, og den poengsummen bruker skrev inn. Hvis bruker skriver en poengsum som er mindre enn 0 eller større enn 100 skal det skrives ut en feilmelding til konsoll.

  • F = 0-14 poeng
  • E = 15-29 poeng
  • D = 30-49 poeng
  • C = 50-69 poeng
  • B = 70-84 poeng
  • A = 85-100 poeng
In [14]:
## 3.1 Svar

total = int(input('Total poengsum: '))

if total >= 0 and total <= 14:
    print(total,'poeng gir karakteren F.')
elif total >= 15 and total <=29:
    print(total,'poeng gir karakteren E.')
elif total >=30 and total <=49:
    print(total,'poeng gir karakteren D.')
elif total >=50 and total <=69:
    print(total,'poeng gir karakteren C.')
elif total >=70 and total <=84:
    print(total,'poeng gir karakteren B.')
elif total >=85 and total <= 100:
    print(total,'poeng gir karakteren A.')
else: 
    print('Feil input. Total poengsum må være mellom 0-100.')
In [ ]: