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/Slack 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 :)
Spør brukeren om å skrive inn et tall som han/hun vil finne kvadratroten av. Bruk funksjonen "sqrt" fra math-biblioteket, og finn kvadratroten av tallet. Print tallet, og kvadratroten, ut til konsoll med en passende tekst. Formater kvadratroten slik at den skrives ut med én desimal.
# 1.1 svar
import math
# Spør om et tall
fraBrk = int(input('Skriv tallet du vil finne kvadratroten av: '))
# Beregn kvadratroten
resultat = math.sqrt(fraBrk)
# Print til konsoll
print('Kvadratroten av',fraBrk, 'er:', format(resultat,'.1f'))
Skriv formelen under med python-kode. Bruk gjerne math-biblioteket hvis du ønsker. Print ut a gitt x = 5, y = 9.8 og n = 240 til konsoll, og rund av svaret til tre desimaler.
# 2.1 svar
import math as m
# Angi variablene
x = 5
y = 9.8
n = 240
# Regn ut formelen og legg resultatet i a
a = m.sqrt(((x-y)**2)/n)
print('Resultatet gitt x = 5, y = 9.8 og n = 240 er', format(a,'.3f'))
Skriv et program som spør brukeren om et desimaltall som representerer radiusen på en sirkel. Bruk turtle-biblioteket for å tegne sirkelen.
## 2.2 svar
import turtle
# Lag en turtle-instans vi kan bruke senere
t = turtle.Turtle()
# Hent radius fra bruker
radius = float(input('Hva er radius? '))
# Tegn sirkel med radius fra bruker
t.circle(radius)
# Hindre canvas'et fra å lukkes med en gang turtle'en er ferdig med å tegne
turtle.done()
Erstatt ordet "None" i print-setningene med uttrykk med // og % , så påstandene blir riktige
1) print(355, "minutt blir", None, "timer.")
2) print(403, "sekund blir", None, "minutt og", None, "sekund.")
3) print(67, "dager blir", None, "måneder.")
4) print(100, "timer blir", None, "døgn og", None, "timer.")
Riktig utskrift skal være:
355 minutt blir 5 timer.
403 sekund blir 6 minutt og 43 sekund.
67 dager blir 2 måneder.
100 timer blir 4 døgn og 4 timer.
# 2.3 svar
#1)
print(355, 'minutt blir ',355//60, 'timer.')
#2)
print(403, "sekund blir", 403//60, "minutt og", 403%60, "sekund.")
#3)
print(67, "dager blir", 67//30, "måneder.")
#4)
print(100, "timer blir", 100//24, "døgn og", 100%24, "timer.")
"Finn multiplikatoren".
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.
# 2.4 svar
import random
# Henter er tilfeldig tall mellom 1-10
tilf = random.randrange(1,10)
# Henter er tall fra bruker mellom 1-100
brukerTall = int(input('Skriv et tall mellom 1-100! '))
# Regner ut brukerens tall multiplisert med det tilfeldige tallet
resultat = tilf*brukerTall
# Viser utregningen til bruker, og spør han/hun om å gjette hva tallet hans/hennes ble multiplisert med
gjett = input('Resultatet fra multiplik. ble '+str(resultat)+'. Hvilket tall tror du ditt tall ble multip. med? ')
# Printer resultatet med brukerens tall til konsoll og viser hva det ble multiplisert med
print('Ditt tall var '+str(brukerTall)+', og det ble multiplisert med '+str(tilf)+' for å få '+str(resultat)+'.')
Skriv et program som spør brukeren om hans/hennes fødselsår. Bruk datetime-biblioteket til å hente inn årstallet vi er i nå (sjekk for eksempel denne nettsiden for tips: https://www.w3schools.com/python/python_datetime.asp). Følg pseudokoden, og skriv ut til konsoll hvor mange hele uker det er igjen til det året han/hun blir 100 år gammel.
# 3.1
# Importer datetime-biblioteket
## Spør bruker om fødselsår, og lagre tallet i en variabel "fodt"
## Regn ut hvilket år personen blir 100 år, ved å plusse 100 på variablen "fodt",
#### og lagre det i en variabel "blir100"
## Hent inneværende år fra datetime-biblioteket og lagre det i variablen "innev"
## Finn ut hvor mange år det er til personen blir 100 år ved å trekke "innev" fra "blir100",
#### og lagre det i en variabel "aarTil100"
## Regn ut hvor mange uker det er til året "blir100" ved å ta "aarTil100"*52,
#### og lagre det i en variabel "ukerTil100"
## Print "ukerTil100" til konsoll med en forklarende tekst
# 3.1 svar
import datetime
# Hent fødselsår fra bruker
fodt = int(input('Hvilket år er du født? '))
# Regn ut hvilket år brukeren blir 100
blir100 = fodt+100
# Hent inneværende år fra datetime-biblioteket
now = datetime.datetime.now()
innev = now.year
# Regn ut hvor mange år det er til brukeren blir 100
aarTil100 = blir100-innev
# Regn ut hvor mange uker det er til brukeren blir 100 og print resultatet
ukerTil100 = aarTil100*52
print('Du blir 100 år om', ukerTil100, 'uker.')