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))
Arne
3

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.

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.