Kom i gang

Hvis du ikke har gjort det enda, må du installere Python 3.11 og Visual Studio Code før du fortsetter.



Hello World

Det er tradisjon for at det første programmet man skriver når man lærer seg et nytt programmeringsspråk er et program som skriver ut ordene «Hello World» til skjermen. I Python ser programmet slik ut:

print("Hello World")
Tre måter å kjøre Python
Kommentarer

Kommentarer er tekst i programmet vårt som blir fullstendig ignorert av Python. Alt som kommer etter en hashtag (#) på en linje blir ignorert, og er kommentarer.

print("Hello World") # Her er en kommentar
# print("På denne linjen skjer det ingenting")

print("Her er # i en streng.") # Hashtag mellom "hermetegn" telles ikke
Utskrift til terminalen

Print-funksjonen skriver ut verdier til terminalen.

# Print-funksjonen kan skrive ut forskellige typer verdier
print("Foo")  # streng/tekst
print(42)     # nummer
print(True)   # boolske verdier

# Print-funksjonen kan skrive ut flere ting på én gang
print("Foo", "Bar")

# Bruk end="" for å avslutte med noe annet enn et linjeskift
print("Foo", end="---*---")
print("Bar")
Python som enkel kalkulator

Man kan bruke Python som en enkel kalkulator.

print(2 + 2)       # Addisjon                               --> 4
print(5 - 3)       # Subtraksjon                            --> 2
print(2 * 3)       # Multiplikasjon                         --> 6
print(5 / 2)       # Divisjon                               --> 2.5
print(5 // 2)      # Heltallsdivisjon (runder alltid ned)   --> 2 
print(5 % 2)       # Modulo (rest etter heltallsdivisjon)   --> 1
print(3 ** 2)      # Potens                                 --> 9
print(max(2, 3))   # Største verdi                          --> 3
print(min(2, 3))   # Minste verdi                           --> 2
print(abs(-3))     # Absoluttverdi                          --> 3

# Man kan også ha kombinerte uttrykk.
print(2 + 3 * 4)              # 14
print(max(2, 3, 199, 4, 5))   # 199

# Man kan bruke parenteser for å styre rekkefølgen på operasjoner
print((2 + 3) * 4)            # 20
Strenger

En streng er en verdi som representerer tekst. En streng består av bokstaver, tallsymboler, mellomrom, linjeskift og andre tegn.

print("Strenger skrives mellom hermetegn.")
print('Man kan også bruke apostrof.')
print(Hvis du ikke har hermetegn er det ikke en streng, og det krasjer)
# En streng kan lagres i en variabel.
foo = "bar"
print("foo") # Skriver ut "foo"
print(foo) # Skriver ut "bar"
# En streng kan inneholde linjeskift (\n)
print("Denne strengen\ninneholder to\nlinjeskift")

# En streng kan inneholde hermetegn (")
print("Her \"er\" et hermetegn")
print('Her "er" et hermetegn') # bedre: bruk apostrofer

# En streng kan inneholde bakstrek (\)
print("C:\\mappe\\script.py")

Lengden av en streng

# len() finner lengden til en streng
x = "foo"
print(len(x)) # 3
print(len("foobar")) # 6
print(len("foo bar")) # 7
print(len("foo\nbar")) # 7 (linjeskift \n telles kun som 1)
print(len(" foobar  ")) # 9 (inkluderer mellomrom)
# En streng kan være tom
x = ""
print(len(x)) # 0
print(x) # printer ingenting på denne linjen
print("---")

# Hvis du vil skrive ut noe uten å avslutte med linjeskift, bruk end=""
print("super", end="")
print("duper")

Operasjoner på strenger

# Strenger konkateneres (limes sammen) med pluss (+)
print("foo" + "bar") # foobar

a = "Hei"
b = "der"
print(a + " " + b) # Hei der
# Strenger repeteres flere ganger med gangesymbol (*) og et tall
print("*" * 3) # ***

s = "bar"
print(2 * s) # barbar

Det er mulig å kombinere tekst og andre verdier med f-strenger. Legg merke til f før hermetegnet.

# Med en f-streng kan vi inkludere variabler i strengen
number_of_students = 800
course_id = "INF100"
print(f"Vi ønsker {number_of_students} studenter velkommen til {course_id}")

# Uten f'en får vi en logisk feil
print("Vi ønsker {number_of_students} studenter velkommen til {course_id}")
print()

# f-strenger kan også brukes for å lage verdier som lagres som en variabel
message = "Jeg lengter hjem"
log_message = f"Mottatt melding: {message}"
print(log_message) # "Mottatt melding: Jeg lengter hjem"

# f-strenger er ikke magiske
message = "Jeg er fornøyd"
print(log_message) # fremdeles "Mottatt melding: Jeg lengter hjem"
Input fra terminalen

Bruk av input-funksjonen for å spørre brukeren om verdier gir mest mening når man kjører en Python-fil i en terminal.

# Les input og skriv ut en hilsen
print("Skriv ditt navn")
name = input()
print(f"Hei, {name}!")
# Når input er et tall
print("Skriv et tall")
a = input()

print("Skriv et tall til")
b = input()

# Hva tror du skrives ut her?
print("Summen er ", a + b)

a = int(a)
b = int(b)

# og hva tror du skrives ut her?
print("Summen er ", a + b)
Syntaksfeil, krasj og logiske feil
print("oj') # Syntaksfeil! (apostrof matcher ikke hermetegn rundt strengen)

# Gir output:
#   SyntaxError: EOL while scanning string literal
print("42" + 3) # Krasj! (å legge sammen en streng og et tall er umulig)

# Gir output:
#   TypeError: can only concatenate str (not "int") to str
print(1/0) # Krasj! (å dele på 0 er umulig)

# Gir output:
#   ZeroDivisionError: integer division or modulo by zero
x = 2
y = 3
z = x + y
print(f"{x} + {z} = {y}") # Logisk feil, vi har byttet z og y

# Gir output:
#   2 + 5 = 3