Input og pakker#
I denne delen skal vi lære hvordan vi kan bruke pakker, lage enkle kalkulatorer og generere tilfeldige tall.
Pakker#
Python har mange innebygde funksjoner, men noen funksjoner ligger i pakker som vi må importere.
math
-pakken#
Pakken math
gir oss flere nyttige verktøy.
math.sqrt(<tall>)
er en funksjon som gir oss kvadratroten av et tall.math.pi
gir oss \(\pi\).
Her er noen eksempler.
import math
print(math.sqrt(4)) # Gir oss kvadratroten av 4.
print(math.pi) # Gir oss pi.
2.0
3.141592653589793
Man kan også importere bare de tingene man trenger. Det kan gjøre koden litt enklere.
from math import sqrt, pi
print(sqrt(4))
print(pi)
2.0
3.141592653589793
random
-pakken#
Pakken random
gir oss tilfeldige tall. Ikke bare er det gøy å leke med, men det er også nyttig for å simulere ting.
random.choice(<liste>)
er en funksjon som velger et tilfeldig element fra en liste.random.randint(<start>, <slutt>)
er en funksjon som gir oss et tifeldig tall fra og med startverdien til og med sluttverdien.
Her er noen eksempler
from random import choice, randint
print(choice(["Arne", "Bjarne", "Cecilie"]))
print(randint(1,6))
Bjarne
6
Input#
Vi kan ta input fra brukeren med input()
-funksjonen.
navn = input("Navn: ")
print("Hei,", navn)
Dette programmet spør brukeren om navnet, og skriver ut Hei, <navn>
. Prøv det selv!
All input er tekst. Hvis vi ønsker tall, må vi gjøre teksten om til et tall. Det enkleste er å sende teksten igjennom float()
-funksjonen. Alternativt kan vi bruke int()
-funksjonen hvis vi ønsker heltall som input.
a = float(input("a: "))
b = float(input("b: "))
print("Summen av ", a, "og", b, "er", a + b)
Dette programmet tar to tall a
og b
og skriver ut summen deres. Prøv det selv!
Avrunding#
Vi kan runde av lange desimaltall ved å bruke round
-funksjonen. Denne ligger ikke i en pakke og må derfor ikke importeres.
from math import pi
print(pi) # Skriver ut pi med mange desimaler
print(round(pi, 2)) # Skriver ut pi rundet av til to desimaler.
3.141592653589793
3.14
Merk deg
round()
-funksjonen runder ikke alltid opp på tall som ender med .5
🤯
Dette gjør funksjonen for å unngå å runde opp mer enn man runder ned i et tallmateriale, siden mange datasett ofte har tall som ender i .5
☝️🤓
Oppgaver#
Oppgave 1 \(\sqrt{x}\)
Lag et program som tar et tall k
som input og skriver ut kvadratroten av tallet.
Løsningsforslag
from math import sqrt
k = float(input("Skriv inn et tall k: "))
print("Kvadratroten av", k, "er", sqrt(k))
Skriv inn et tall a: 2
Kvadratroten av 2.0 er 1.4142135623730951
Oppgave 2 🌡️
Lag en kalkulator som tar et tall r
som input og skriver ut omkretsen og arealet til en sirkel.
Skriv ut svarene rundet av til to desimaler.
Løsningsforslag
from math import pi
r = float(input("Skriv inn en radius r: "))
print("Omkrets:", round(2 * pi * r, 2))
print("Areal:", round(pi * r ** 2, 2))
Skriv inn en radius r: 3
Omkrets: 18.85
Areal: 28.27