python3
ipython3
exit()
.hello.py
.$ python3 hello.py
float
och int
1.0
, 3.1415
, -4.5
1
, -10
, 6000
str
"Ada Lovelace anses vara den första programmeraren."
'Barbara Liskov uppfann abstrakta datatyper.'
"Rina Dechter kom på termen 'deep learning'"
'Grace Hoppper kom på termen "kompilator"'
+
, -
, *
, /
- de fyra fundamentala räknesätten addition, subtraktion, multiplikation och division**
exponentiering (potens, "upphöjt till")//
heltalsdivision, dvs. division med eventuella decimaler trunkerade%
modulo (rest vid heltalsdivision)print(10 + 3)
print(10 - 3)
print(10 * 3)
print(10 / 3)
13 7 30 3.3333333333333335
10 ** 3
1000
10 // 3
3
10 % 3
1
+
användas för att konkatenera, dvs sammanfoga, strängar:"hej" + "san"
'hejsan'
"hej" * 2
'hejhej'
# Fungerar detta? Varför eller varför inte?
"2" + 2
--------------------------------------------------------------------------- TypeError Traceback (most recent call last) Cell In[22], line 2 1 # Fungerar detta? Varför eller varför inte? ----> 2 "2" + 2 TypeError: can only concatenate str (not "int") to str
5 + 3
len("hejsan")
value
, filename
, player
, age
_
, mellan ordenbook_title
, left_panel
, confirm_button
variabel = värde
x = 5
#
är kommentarer i Python; pythontolken försöker inte tolka kommentarer)# Alla uttryck beräknas innan tilldelningen.
# 7 + 9 beräknas till 16
# Sist utförs tilldelningen; värdet 16 tilldelas sedan till variabeln x
x = 7 + 9
# Alla uttryck beräknas innan tilldelningen.
# 3 + 6 -> 9 beräknas först, sen 5 * 9 -> 45
# Sist utförs tilldelningen; värdet 45 tilldelas till variabeln voltage
voltage = 5 * (3 + 6)
min_variabel = 10
min_variabel = 3
min_variabel = min_variabel + 1
- min_variabel += 3
+=
, -=
, *=
, /=
, try
-satser (Tema 6)float()
omvandlar heltal till flyttalfloat(5)
→ 5.0
int()
. Vid omvandlingen trunkeras alla decimaler på samma sätt som vid heltalsdivision.int(3.1415)
→ 3
int(3.9)
→ 3
round()
, som också kan ta emot ett andra argument för antal decimaler. Exempel:round(3.9)
→ 4
round(3.1415, 2)
→ 3.14
return_hello
tar inga argument och returnerar alltid strängen "hello"
.return_hello()
'hello'
double_value
tar ett värde och returnerar det dubbla.double_value(2)
4
avg_value
tar två värden och returnerar genomsnittet av dem.avg_value(1, 3)
2
calculate_average
, get_number_of_votes
return
instruerar pythontolken att ett värde ska returneras.return
är en retursats.def f(x):
return 2 * x
def funktionsnamn(parameter1, parameter2, ..., parameterN):
sats1
sats2
sats3
...
def
följt av namnet på den funktion man definierar (skapar) och en sekvens av parametrar inom parenteser och slutligen ett :
.:
-tecknet är indenterade, dvs. indragna, med 4 mellanslag och utgör ett block.def
eller filen tar slut.def
och return
samt skiljetecknet :
kan vi definiera funktionen $f(x) = 2x$ i Python.2 * x
beräknas.# f(x) = 2x
# definierad i Python
def f(x):
return 2 * x
# anropa funktionen, spara returvärdet i variabeln
# resultat
resultat = f(10)
def
return
:
innan första raden på det nya blocket#
påbörjar en kommentar, resten av raden ses inte som Pythonkodreturn
-sats?return
-sats så kommer Python automatiskt se till att funktionen returnerar None
None
är det värde som vi använder i Python för att beteckna "inget värde"print()
¶None
print("Hej")
x = 56
namn = "Beata"
print(namn)
print(x + 487)
Hej Beata 543
"\t"
"\n"
"hejsan"
: h |
e |
j |
s |
a |
n |
---|---|---|---|---|---|
0 |
1 |
2 |
3 |
4 |
5 |
my_string[index]
my_string[0]
är det första tecknet i variabeln my_string.my_string[-1]
ger det sista tecknet i variabeln my_string
len()
användas.namn = "Alfred"
# tilldela variabeln namnlängd värdet som len(namn)
# returnerar
namnlängd = len(namn)
# skriv ut värdet i variabeln namnlängd
print(namnlängd)
6
my_string[start:end]
från index start
, inkludera tecknen på alla index mindre än end
my_string[:end]
från första tecknet, inkludera tecknen på alla index mindre än end
my_string[start:]
alla tecken från index start
till slutet av strängen h |
e |
j |
s |
a |
n |
---|---|---|---|---|---|
0 |
1 |
2 |
3 |
4 |
5 |
my_string = "hejsan"
my_string[1:4]
'ejs'
3+3
6
str(3) + str(3)
'33'
str(True)
'True'
studenter = ["Ada", "Bertil", "Cecilia"]
diverse = [5, 3.0, "rosa", [100, 200, 300]]
my_list[start:end]
från index start
, inkludera alla värden med index mindre än end
my_list[:end]
från början, inkludera alla värden med index mindre än end
my_list[start:]
från index start
till slutet av listan 'h' |
'e' |
'j' |
's' |
'a' |
'n' |
---|---|---|---|---|---|
0 |
1 |
2 |
3 |
4 |
5 |
my_list = ['h', 'e', 'j', 's', 'a', 'n']
my_list[1:4]
['e', 'j', 's']
+
kan användas för att slå ihop två listor till en ny lista. Ordningen spelar roll!frukter1 = ["äpple", "päron"]
frukter2 = ["apelsin", "banan"]
alla_frukter1 = frukter1 + frukter2
alla_frukter2 = frukter2 + frukter1
print(alla_frukter1)
['äpple', 'päron', 'apelsin', 'banan']
print(alla_frukter2)
['apelsin', 'banan', 'äpple', 'päron']
values = [1, 2, 3, 4]
print(values)
[1, 2, 3, 4]
# ändra värde på index 2
values[2] = "hoppsan"
print(values)
[1, 2, 'hoppsan', 4]
frukter = ["apelsin"]
print(frukter)
['apelsin']
frukter = frukter + ["banan"]
print(frukter)
['apelsin', 'banan']
frukter = ["apelsin"]
print(frukter)
['apelsin']
frukter = ["banan"] + frukter
print(frukter)
['banan', 'apelsin']
+
med listor ändrar inte på operandernacharacters1 = ["a", "b", "c"]
characters1 + ["d"]
print(characters1)
['a', 'b', 'c']
list.append(value)
lägger till value till en listacharacters1.append("d")
print(characters1)
['a', 'b', 'c', 'd']
random
: har t.ex. funktioner som returnerar slumpvärdensys
: funktioner m.m. som har med systemet att göra (lägre abstraktionsnivå)os
: funktioner m.m. som har med operativsystemet att göra (högre abstraktionsnivå)import
.import random
# funktionen random() i modulen random returnerar ett slumpmässigt
# flyttal mellan 0.0 och 1.0
slumpvärde1 = random.random()
print(slumpvärde1)
0.11297619324484309
# funktionen randint(heltal1, heltal2) i modulen random returnerar ett
# slumpmässigt heltal från heltal1 till och med heltal2.
slumpvärde2 = random.randint(10, 90)
print(slumpvärde2)
72
import random
random
och ser till att det hamnar i namnrymden random
randint(heltal1, heltal2)
i modulen random
kommer man då åt genom att skrivarandom.randint(heltal1, heltal2)
# import-exempel 1
import random
list_of_names = ["Ada", "Bea", "Cecilia", "Dolores"]
def random_greeting1(names):
# random.choice() väljer ut ett slumpmässigt element från
# en sekvens
name = random.choice(names)
print("Hello " + name + "!")
def random_greeting2(names):
# random.randint() slumpar fram ett heltal från ett slutet
# intervall
random_index = random.randint(0, len(names)-1)
print("Hello " + names[random_index] + "!")
random_greeting1(list_of_names)
Hello Ada!
random_greeting2(list_of_names)
Hello Cecilia!
#import-exempel 2
from random import *
list_of_names = ["Ada", "Bea", "Cecilia", "Dolores"]
def random_greeting1(names):
# choice() från modulen random väljer ut ett slumpmässigt
# element från en sekvens
name = choice(names)
print("Hello " + name + "!")
def random_greeting2(names):
# randint() från modulen random slumpar fram ett heltal från
# ett slutet intervall
random_index = randint(0, len(names)-1)
print("Hello " + names[random_index] + "!")
random_greeting1(list_of_names)
Hello Ada!
random_greeting2(list_of_names)
Hello Cecilia!
return
eller print
¶def add_1_and_print(value):
print(value+1)
add_1_and_print(1)
2
def add_1_and_return(value):
return value+1
print(add_1_and_return(1))
2
print(add_1_and_return(add_1_and_return(1)))
3
def add_1_and_print(value):
print(value+1)
add_1_and_print(1)
2
add_1_and_print(add_1_and_print(1))
2
--------------------------------------------------------------------------- TypeError Traceback (most recent call last) Cell In[7], line 1 ----> 1 add_1_and_print(add_1_and_print(1)) Cell In[6], line 2, in add_1_and_print(value) 1 def add_1_and_print(value): ----> 2 print(value+1) TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
mitt_namn = "Pikachu"
mitt_namn[0]
'P'
mitt_namn[1:3]
'ik'
"Mr. " + mitt_namn
'Mr. Pikachu'
mitt_namn + "Mr. "
'PikachuMr. '
godis = ["söt", "grön", "mjuk", "kletig"]
godis[0]
'söt'
godis[1:3]
['grön', 'mjuk']
["god"] + godis
['god', 'söt', 'grön', 'mjuk', 'kletig']
godis + ["god"]
['söt', 'grön', 'mjuk', 'kletig', 'god']
spam = "EXEMPEL"
"EXEMPEL"
och sparar den i variabeln spam
spam
lagras på minnesplats 0x0007
spam
'EXEMPEL'
spam
får vi ut sekvensen som börjar på minnesadressen 0x0007
och är 7 tecken långspam[0]
'E'
</div>
spam[1]
'X'
</div>
spam[2:5]
'EMP'
if <uttryck som beräknas till ett sanningsvärde>:
sats1
sats2
sats3
...
int
(heltal), float
(flyttal) bool
True
och False
. None
, []
, ""
och 0
ses som sanna if <uttryck som beräknas till ett sanningsvärde>:
sats1
sats2
sats3
...
True
körs satserna i blocket som hör till if
-satsen.False
hoppar pythontolken över blocket som hör till if
-satsen.if True:
print("Det är sant.")
if False:
print("Det är falskt.")
Det är sant.
if 30-30:
print("Jag kan räkna med heltal.")
det_regnar = False
det_snöar = True
if det_regnar:
print("Det regnar!")
if det_snöar:
print("Det snöar!")
Det snöar!
def testfunktion1():
return False
def testfunktion2():
return "False"
def testfunktion3():
print(True)
if testfunktion1():
print("Test 1 OK.")
if testfunktion2():
print("Test 2 OK.")
if testfunktion3():
print("Test 3 OK.")
Test 2 OK. True
True
eller False
. ==
!=
>
<
>=
<=
x == 5
mätvärde >= maxvärde
# villkor med jämförelser
if mina_poäng > dina_poäng:
print("Jag vann!")
if mina_poäng == dina_poäng:
print("Oavgjort!")
if dina_poäng > mina_poäng:
print("Ett fel har uppstått och programmet kommer avslutas.")
# returvärde från len() används som en operand vid jämförelse
if len(meddelande) > 140:
print("Meddelandet är för långt.")
# returvärde från finns_i_ordlista() används som sanningsvärde
if finns_i_ordlista(ord):
print("Draget är giltigt.")
True
eller False
. and
: ger True
om båda operander är sanna or
: ger True
om minst en av operanderna är sanna not
: ger True
om operanden är False
, ger False
om operanden är True
mätvärde1 > 100 and mätvärde2 <= 10
# villkor med logiska operatorer
temperatur = -6.2
nederbörd = True
if temperatur < 0 and nederbörd:
print("Jag tror att det snöar.")
Jag tror att det snöar.
if temperatur < 0 and not nederbörd:
print("Det snöar i alla fall inte.")
if temperatur > -100 and temperatur < 100:
print("Jag tror att vi är på en annan planet.")
Jag tror att vi är på en annan planet.
if
-satsen utförs om villkoret i if
-satsen är sann.if sanningsvärde:
satser
if sensor_value < 150:
output = 0
if
-sats är fristående¶if
-satser på samma nivå kommer att kontrolleras. if
-satser kan vara sannasensor_value = 100
if sensor_value < 150:
print("Mindre än 150!")
if sensor_value < 100:
print("Mindre än 100!")
if sensor_value < 200:
print("Mindre än 200!")
Mindre än 150! Mindre än 200!
else
-gren som endast utförs om villkoret är falskt. if
-sats tillsammans med else
-sats¶else
-del kan (frivilligt) användas tillsammans med varje if
-sats. else
-satsens block utförs om villkorssatsen är falsk (dvs när if
-grenen inte utförs)if sanningsvärde:
satser
else:
satser
if
-sats tillsammans med else
-sats¶if sensor_value < 150:
output = 0
else:
output = 1
if
-sats tillsammans med en eller flera elif
-satser¶sanningsvärde1
är sant, utförs blocket tillhörande if
-satsen.elif
-satser i anslutning till if
-satsen utvärderas. sanningsvärde1
är falskt, utvärderas närmaste elif
-sats och dess block utförs om dess sanningsvärde är sant. Övriga elif
/else
-satser hoppas över.if sanningsvärde1:
satser
elif sanningsvärde2:
satser
# fler elif-satser kan följa
if
-sats tillsammans med en eller flera elif
-satser¶if sensor_value < 100:
output = 0
elif sensor_value >= 100 and sensor_value < 200:
output = 1
elif sensor_value >= 200 and sensor_value < 300:
output = 2
if
-sats med elif
-satser och avslutande else
-sats¶if
-satsen eller någon av dess elif
-satser hade ett sanningsvärde som var sant, utförs det block som hör ihop med else
-satsen.if sanningsvärde:
satser
elif sanningsvärde:
satser
# fler satser med elif kan följa
else:
satser
if
-sats med elif
-satser och avslutande else
-sats¶if sensor_value < 75:
output = 0
elif sensor_value >= 75 and sensor_value < 150:
output = 1
elif sensor_value >= 150 and sensor_value < 225:
output = 2
else:
output = 3
while
-loopen for
-loopwhile
-loopen¶while
-loopen upprepas tills while
-satsens villkor blir falskt. while <uttryck som beräknas till ett sanningsvärde>:
sats1
sats2
...
# räkna upp till 10
count = 0
while count <= 10:
print(count)
count += 1
0 1 2 3 4 5 6 7 8 9 10
# evig loop
x = 0
while x <= 10:
print("En dator blir aldrig uttråkad.")
print(x)
break
användas för att avbryta en loop (hela loopen). continue
används för att hoppa över resten av loop-blocket och börja om igen från början (nästa iteration)# kontrollvariabel för loopen
count = 0
while count < 10:
# Gå vidare till nästa iteration om count är 3 eller 5, notera att vi *inte* kan skriva if count == 3 or 5
if count == 3 or count == 5:
count += 1
continue
if count > 7:
print("Nu orkar jag inte mer." + "(count: " + str(count) + ")")
break
elif count > 4:
print("Har vi kört vilse?" + "(count: " + str(count) + ")")
elif count > 3:
print("Är vi framme snart?" + "(count: " + str(count) + ")")
else:
print("Det här är roligt!" + "(count: " + str(count) + ")")
count += 1
Det här är roligt!(count: 0) Det här är roligt!(count: 1) Det här är roligt!(count: 2) Är vi framme snart?(count: 4) Har vi kört vilse?(count: 6) Har vi kört vilse?(count: 7) Nu orkar jag inte mer.(count: 8)
while
-loop¶namn = ["Ada", "Beata", "Cecilia", "Diana"]
index = len(namn) - 1
while index >= 0:
print(namn[index])
index -= 1
Diana Cecilia Beata Ada
def print_all_values(values):
index = 0
while index < len(values):
print(values[index])
index += 1
namn = ["Ada", "Beata", "Cecilia", "Diana"]
print_all_values(namn)
Ada Beata Cecilia Diana
print_all_values(["Hej", "Hopp"])
Hej Hopp
for
-loopen¶for
-loopen¶for element in a_sequence:
statement1
statement2
statement3
...
for
-loopen loopar över en sekvenselement
nästa värde i sekvensen a_sequence
element
och a_sequence
for
¶names = ["Adam", "Bethany", "Chris"]
# gå igenom alla element i names. det aktuella elementet
# refereras till via variabeln name i loopen.
for name in names:
# skriv ut det aktuella elementet i listan names
print(name)
Adam Bethany Chris
for
¶word = "fantastisk"
# gå igenom alla tecken i word. det aktuella tecknet
# refereras till via variabeln char i loopen.
for char in word:
# skriv ut det aktuella tecknet i strängen word
print(char)
f a n t a s t i s k
word = "fantastisk"
new_word = ""
for char in word:
# lägg till "i" istället för "a"
if char == "a":
new_word += "u"
elif char == "s":
new_word += "f"
else:
new_word += char
print(new_word)
funtuftifk
+
)range
¶range
¶range(stop)
: Börja från 0, öka med 1 och fortsätt generera heltal så länge som heltalet är mindre än stop
range(start, stop)
: Börja från start
, öka med 1 och fortsätt generera heltal så länge som heltalet är mindre än stop
range(start, stop, step)
: Börja från start
, öka med step
och fortsätt att generera heltal så länge som heltalet är mindre än stop
range
till funktionen list
, t.ex. list(range(10))
range
¶list(range(10))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
list(range(4,6))
[4, 5]
list(range(10, 109, 10))
[10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
list(range(10, 111, 10))
[10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110]
list(range(10, 0, -2))
[10, 8, 6, 4, 2]
list(range(10, 3, -2))
[10, 8, 6, 4]
for
med range
¶# Skriv ut siffrorna 0 till 9 (10 siffror)
for i in range(10):
print(i)
0 1 2 3 4 5 6 7 8 9
for
med range
över längden på en sekvens¶Ofta överflödigt:
names = ["Adam", "Bethany", "Chris"]
# Skriv ut elementen i listan names
for i in range(len(names)):
print(names[i])
Adam Bethany Chris
for
med range
över längden på en sekvens¶men ibland praktiskt:
names = ["Adam", "Bethany", "Chris"]
# Skriv ut elementen i listan names
for i in range(len(names)):
print(names[i] + " likes " + names[(i+1) % len(names)])
Adam likes Bethany Bethany likes Chris Chris likes Adam
(För den som vill se en mer "pythonic" approach, kolla upp funktionen enumerate
.)
print("Första raden")
def calc_double(value):
new_value = value * 2
print("värdet på value:", value)
print("värdet på new_value:", new_value)
return new_value
def main():
print("Nu körs main()")
value = 5
double = calc_double(value)
print("Dubbla värdet är", double)
main()
print("Nu är programmet slut!")
Första raden Nu körs main() värdet på value: 5 värdet på new_value: 10 Dubbla värdet är 10 Nu är programmet slut!
print("Första raden")
def calc_double(value):
new_value = value * 2
print("värdet på value:", value)
print("värdet på new_value:", new_value)
return new_value
def main():
print("Nu körs main()")
value = 5
double = calc_double(value)
print("Dubbla värdet är", double)
main()
# vad händer om försöker skriva ut value här?
print("value:", value)
print("Nu är programmet slut!")
main()
print("value:", value)
value = "hejsan"
main()
print("value:", value)
main()
# vad händer om försöker skriva ut value här?
print("value:", value)
print("Nu är programmet slut!")
{}
och består av nycklar och värden:{ nyckel_1:värde1, nyckel_2:värde2, ... , nyckel_n:värde_n }
dictionary1 = {"nyckel 1":"värde 1", 345:"värde 2", (3):54 }
print(dictionary1["nyckel 1"])
print(dictionary1[345])
print(dictionary1[(3)])
Till skillnad från att använda index som är större än längden på listan, så kan man lägga till nya värden i ett dictionary genom att använda en ny nyckel.
dictionary1 = {"nyckel1":"värde 1", 345:"värde 2", (3):54 }
dictionary1["ny nyckel"] = "nytt värde"
dictionary1["böcker"] = ["bok 1", "bok 2", "bok 3"]
print(dictionary1["ny nyckel"])
print(dictionary1["böcker"])
print(dictionary1)
Precis som att man kan ange ett index vid tilldelning av ett värde på ett element i en lista, så kan man ange en nyckel vid tilldelning av ett associerat värde i en dictionary.
dictionary1 = {"nyckel1":"värde 1", 345:"värde 2", (3):54 }
print(dictionary1["nyckel1"])
dictionary1["nyckel1"] = 1024
print(dictionary1["nyckel1"])
dict.keys()
dict.values()
dict.items()
dict
refererar här till ett värde av typen dictionary, denna notation används även i pythondokumentationendict.keys()
, dict.values()
och dict.items()
returnerar en vy (eng. view) in i dictionary-värdet# syntax
for element in sequence:
# gör saker med element
# ok, men försök att undvika:
for index in range(len(sequence)):
# gör saker med sequence[index]
# felaktigt (ingen användning av for-loopen)
index = 0
for element in sequence:
# gör saker med sequence[index]
index += 1
dict.keys()
, dict.values()
och dict.items()
) följer samma ordning.# loopa genom nycklar, explicit
for key in dictionary1.keys():
print(f"{key=}")
print(f"{dictionary1[key]=}")
# loopa genom nycklar, implicit
for key in dictionary1:
print(f"{key=}")
print(f"{dictionary1[key]=}")
for value in dictionary1.values():
print(f"{value=}")
dict.items()
returnerar en vy som kan användas som en lista av tupler med två element per tupel.# loopa genom par av nycklar och värden explicit
for key, value in dictionary1.items():
print(f"{key=}")
print(f"{value=}")
# en lista av tupler med två element per tupel kan loopas igenom på samma sätt
list_of_tuples = [("ett", 1), ("två", 2), ("tre", 3)]
for word, number in list_of_tuples:
print(f"Först kommer {word=} sen kommer")
print(f"{number=} och sen är vi klara")
list_of_lists = [["Ada Lovelace", 1815], ["Joan Clarke", 1917]]
list_of_dicts = [ { "name": "Ada Lovelace", "birthyear": 1815 }, { "name": "Joan Clarke", "birthyear": 1815 } ]
dict_with_some_list_value = { "name": "ditto", "abilities": ["imposter", "limber"] }
lista1 = [["a", "b", "c"], ["d", "e", "f"]]
# första elementet i lista1
lista1[0]
# första elementet i första elementet i lista1
lista1[0][0]
# andra elementet i första elementet i lista1
lista1[1][1]
dict1 = { "frukter": ["a", "b", "c"],
"bilar": ["d", "e", "f"] }
# värdet associerat med nyckeln "frukter"
dict1["frukter"]
# första elementet i listan associerad med nyckeln "frukter"
dict1["frukter"][0]
# andra elementet i listan associerad med nyckeln "frukter"
dict1["frukter"][1]
yttre_lista = [ ["a", "b", "c"], ["d", "e", "f", "g"] ]
# om vi för varje inre lista i yttre_lista vill skriva ut den inre listans element?
yttre_index = 0
while yttre_index < len(yttre_lista):
inre_lista = yttre_lista[yttre_index]
# kod som skriver ut varje element i inre_lista
inre_index = 0
while inre_index < len(inre_lista):
print(inre_lista[inre_index])
inre_index += 1
yttre_index += 1
yttre_lista = [ ["a", "b", "c"], ["d", "e", "f", "g"] ]
# om vi för varje inre lista i yttre_lista vill skriva ut den inre listans element?
for yttre_element in yttre_lista:
for inre_element in yttre_element:
print(inre_element)
pokemons = [ { "name": "bulbasaur", "abilities": ["chlorophyll", "overgrow"] },
{ "name": "squirtle", "abilities": ["rain-dish", "torrent"] } ]
def print_dictionaries(list_of_dictionaries):
# gå igenom listan med dictionaries
for dictionary in list_of_dictionaries:
# gå igenom alla nycklar i aktuellt dictionary
for key in dictionary.keys():
print(f"The key {key} has the value: {dictionary[key]}")
print("pokemons:")
print_dictionaries(pokemons)
books = [ { "title": "Introduction to Python", "pages": 314 },
{ "title": "Another introduction to Python", "pages": 413 } ]
print("books:")
print_dictionaries(books)
def print_dictionaries(list_of_dictionaries):
# gå igenom listan med dictionaries
for dictionary in list_of_dictionaries:
# gå igenom alla nycklar i varje dictionary
for key in dictionary:
# i de fall som värdet för en nyckel är en lista
if type(dictionary[key]) == list:
print(f"Value of key {key} is a list:")
# skriv ut varje värde i listan dictionary[key]
for value in dictionary[key]:
print(f"- {value}")
# när värdet i dictionaryt inte är en lista
else:
print(f"The key {key} has the value: {dictionary[key]}")
print("pokemons:")
print_dictionaries(pokemons)
print("\nbooks:")
print_dictionaries(books)
blandad_lista = [ "a", ["b", "c"], "d", "e", ["f", "g"] ]
def look_for_value(needle, haystack):
# bearbeta yttre listan
for value in haystack:
# bearbetning av yttre värden som är listor
if type(value) == list:
for inner_value in value:
if inner_value == needle:
return True
# om yttre värde inte är en lista, kolla om det är det vi letar efter
elif value == needle:
return True
return False
look_for_value("c", blandad_lista)
def skriv_ut_hej(heltal):
print(f"Hej {heltal}")
skriv_ut_hej(heltal + 1)
print("Klar!")
skriv_ut_hej(0)
Hej 0 Hej 1 Hej 2 Hej 3 Hej 4 Hej 5 Hej 6 Hej 7 Hej 8 Hej 9 Hej 10 Hej 11 Hej 12 Hej 13 Hej 14 Hej 15 Hej 16 Hej 17 Hej 18 Hej 19 Hej 20 Hej 21 Hej 22 Hej 23 Hej 24 Hej 25 Hej 26 Hej 27 Hej 28 Hej 29 Hej 30 Hej 31 Hej 32 Hej 33 Hej 34 Hej 35 Hej 36 Hej 37 Hej 38 Hej 39 Hej 40 Hej 41 Hej 42 Hej 43 Hej 44 Hej 45 Hej 46 Hej 47 Hej 48 Hej 49 Hej 50 Hej 51 Hej 52 Hej 53 Hej 54 Hej 55 Hej 56 Hej 57 Hej 58 Hej 59 Hej 60 Hej 61 Hej 62 Hej 63 Hej 64 Hej 65 Hej 66 Hej 67 Hej 68 Hej 69 Hej 70 Hej 71 Hej 72 Hej 73 Hej 74 Hej 75 Hej 76 Hej 77 Hej 78 Hej 79 Hej 80 Hej 81 Hej 82 Hej 83 Hej 84 Hej 85 Hej 86 Hej 87 Hej 88 Hej 89 Hej 90 Hej 91 Hej 92 Hej 93 Hej 94 Hej 95 Hej 96 Hej 97 Hej 98 Hej 99 Hej 100 Hej 101 Hej 102 Hej 103 Hej 104 Hej 105 Hej 106 Hej 107 Hej 108 Hej 109 Hej 110 Hej 111 Hej 112 Hej 113 Hej 114 Hej 115 Hej 116 Hej 117 Hej 118 Hej 119 Hej 120 Hej 121 Hej 122 Hej 123 Hej 124 Hej 125 Hej 126 Hej 127 Hej 128 Hej 129 Hej 130 Hej 131 Hej 132 Hej 133 Hej 134 Hej 135 Hej 136 Hej 137 Hej 138 Hej 139 Hej 140 Hej 141 Hej 142 Hej 143 Hej 144 Hej 145 Hej 146 Hej 147 Hej 148 Hej 149 Hej 150 Hej 151 Hej 152 Hej 153 Hej 154 Hej 155 Hej 156 Hej 157 Hej 158 Hej 159 Hej 160 Hej 161 Hej 162 Hej 163 Hej 164 Hej 165 Hej 166 Hej 167 Hej 168 Hej 169 Hej 170 Hej 171 Hej 172 Hej 173 Hej 174 Hej 175 Hej 176 Hej 177 Hej 178 Hej 179 Hej 180 Hej 181 Hej 182 Hej 183 Hej 184 Hej 185 Hej 186 Hej 187 Hej 188 Hej 189 Hej 190 Hej 191 Hej 192 Hej 193 Hej 194 Hej 195 Hej 196 Hej 197 Hej 198 Hej 199 Hej 200 Hej 201 Hej 202 Hej 203 Hej 204 Hej 205 Hej 206 Hej 207 Hej 208 Hej 209 Hej 210 Hej 211 Hej 212 Hej 213 Hej 214 Hej 215 Hej 216 Hej 217 Hej 218 Hej 219 Hej 220 Hej 221 Hej 222 Hej 223 Hej 224 Hej 225 Hej 226 Hej 227 Hej 228 Hej 229 Hej 230 Hej 231 Hej 232 Hej 233 Hej 234 Hej 235 Hej 236 Hej 237 Hej 238 Hej 239 Hej 240 Hej 241 Hej 242 Hej 243 Hej 244 Hej 245 Hej 246 Hej 247 Hej 248 Hej 249 Hej 250 Hej 251 Hej 252 Hej 253 Hej 254 Hej 255 Hej 256 Hej 257 Hej 258 Hej 259 Hej 260 Hej 261 Hej 262 Hej 263 Hej 264 Hej 265 Hej 266 Hej 267 Hej 268 Hej 269 Hej 270 Hej 271 Hej 272 Hej 273 Hej 274 Hej 275 Hej 276 Hej 277 Hej 278 Hej 279 Hej 280 Hej 281 Hej 282 Hej 283 Hej 284 Hej 285 Hej 286 Hej 287 Hej 288 Hej 289 Hej 290 Hej 291 Hej 292 Hej 293 Hej 294 Hej 295 Hej 296 Hej 297 Hej 298 Hej 299 Hej 300 Hej 301 Hej 302 Hej 303 Hej 304 Hej 305 Hej 306 Hej 307 Hej 308 Hej 309 Hej 310 Hej 311 Hej 312 Hej 313 Hej 314 Hej 315 Hej 316 Hej 317 Hej 318 Hej 319 Hej 320 Hej 321 Hej 322 Hej 323 Hej 324 Hej 325 Hej 326 Hej 327 Hej 328 Hej 329 Hej 330 Hej 331 Hej 332 Hej 333 Hej 334 Hej 335 Hej 336 Hej 337 Hej 338 Hej 339 Hej 340 Hej 341 Hej 342 Hej 343 Hej 344 Hej 345 Hej 346 Hej 347 Hej 348 Hej 349 Hej 350 Hej 351 Hej 352 Hej 353 Hej 354 Hej 355 Hej 356 Hej 357 Hej 358 Hej 359 Hej 360 Hej 361 Hej 362 Hej 363 Hej 364 Hej 365 Hej 366 Hej 367 Hej 368 Hej 369 Hej 370 Hej 371 Hej 372 Hej 373 Hej 374 Hej 375 Hej 376 Hej 377 Hej 378 Hej 379 Hej 380 Hej 381 Hej 382 Hej 383 Hej 384 Hej 385 Hej 386 Hej 387 Hej 388 Hej 389 Hej 390 Hej 391 Hej 392 Hej 393 Hej 394 Hej 395 Hej 396 Hej 397 Hej 398 Hej 399 Hej 400 Hej 401 Hej 402 Hej 403 Hej 404 Hej 405 Hej 406 Hej 407 Hej 408 Hej 409 Hej 410 Hej 411 Hej 412 Hej 413 Hej 414 Hej 415 Hej 416 Hej 417 Hej 418 Hej 419 Hej 420 Hej 421 Hej 422 Hej 423 Hej 424 Hej 425 Hej 426 Hej 427 Hej 428 Hej 429 Hej 430 Hej 431 Hej 432 Hej 433 Hej 434 Hej 435 Hej 436 Hej 437 Hej 438 Hej 439 Hej 440 Hej 441 Hej 442 Hej 443 Hej 444 Hej 445 Hej 446 Hej 447 Hej 448 Hej 449 Hej 450 Hej 451 Hej 452 Hej 453 Hej 454 Hej 455 Hej 456 Hej 457 Hej 458 Hej 459 Hej 460 Hej 461 Hej 462 Hej 463 Hej 464 Hej 465 Hej 466 Hej 467 Hej 468 Hej 469 Hej 470 Hej 471 Hej 472 Hej 473 Hej 474 Hej 475 Hej 476 Hej 477 Hej 478 Hej 479 Hej 480 Hej 481 Hej 482 Hej 483 Hej 484 Hej 485 Hej 486 Hej 487 Hej 488 Hej 489 Hej 490 Hej 491 Hej 492 Hej 493 Hej 494 Hej 495 Hej 496 Hej 497 Hej 498 Hej 499 Hej 500 Hej 501 Hej 502 Hej 503 Hej 504 Hej 505 Hej 506 Hej 507 Hej 508 Hej 509 Hej 510 Hej 511 Hej 512 Hej 513 Hej 514 Hej 515 Hej 516 Hej 517 Hej 518 Hej 519 Hej 520 Hej 521 Hej 522 Hej 523 Hej 524 Hej 525 Hej 526 Hej 527 Hej 528 Hej 529 Hej 530 Hej 531 Hej 532 Hej 533 Hej 534 Hej 535 Hej 536 Hej 537 Hej 538 Hej 539 Hej 540 Hej 541 Hej 542 Hej 543 Hej 544 Hej 545 Hej 546 Hej 547 Hej 548 Hej 549 Hej 550 Hej 551 Hej 552 Hej 553 Hej 554 Hej 555 Hej 556 Hej 557 Hej 558 Hej 559 Hej 560 Hej 561 Hej 562 Hej 563 Hej 564 Hej 565 Hej 566 Hej 567 Hej 568 Hej 569 Hej 570 Hej 571 Hej 572 Hej 573 Hej 574 Hej 575 Hej 576 Hej 577 Hej 578 Hej 579 Hej 580 Hej 581 Hej 582 Hej 583 Hej 584 Hej 585 Hej 586 Hej 587 Hej 588 Hej 589 Hej 590 Hej 591 Hej 592 Hej 593 Hej 594 Hej 595 Hej 596 Hej 597 Hej 598 Hej 599 Hej 600 Hej 601 Hej 602 Hej 603 Hej 604 Hej 605 Hej 606 Hej 607 Hej 608 Hej 609 Hej 610 Hej 611 Hej 612 Hej 613 Hej 614 Hej 615 Hej 616 Hej 617 Hej 618 Hej 619 Hej 620 Hej 621 Hej 622 Hej 623 Hej 624 Hej 625 Hej 626 Hej 627 Hej 628 Hej 629 Hej 630 Hej 631 Hej 632 Hej 633 Hej 634 Hej 635 Hej 636 Hej 637 Hej 638 Hej 639 Hej 640 Hej 641 Hej 642 Hej 643 Hej 644 Hej 645 Hej 646 Hej 647 Hej 648 Hej 649 Hej 650 Hej 651 Hej 652 Hej 653 Hej 654 Hej 655 Hej 656 Hej 657 Hej 658 Hej 659 Hej 660 Hej 661 Hej 662 Hej 663 Hej 664 Hej 665 Hej 666 Hej 667 Hej 668 Hej 669 Hej 670 Hej 671 Hej 672 Hej 673 Hej 674 Hej 675 Hej 676 Hej 677 Hej 678 Hej 679 Hej 680 Hej 681 Hej 682 Hej 683 Hej 684 Hej 685 Hej 686 Hej 687 Hej 688 Hej 689 Hej 690 Hej 691 Hej 692 Hej 693 Hej 694 Hej 695 Hej 696 Hej 697 Hej 698 Hej 699 Hej 700 Hej 701 Hej 702 Hej 703 Hej 704 Hej 705 Hej 706 Hej 707 Hej 708 Hej 709 Hej 710 Hej 711 Hej 712 Hej 713 Hej 714 Hej 715 Hej 716 Hej 717 Hej 718 Hej 719 Hej 720 Hej 721 Hej 722 Hej 723 Hej 724 Hej 725 Hej 726 Hej 727 Hej 728 Hej 729 Hej 730 Hej 731 Hej 732 Hej 733 Hej 734 Hej 735 Hej 736 Hej 737 Hej 738 Hej 739 Hej 740 Hej 741 Hej 742 Hej 743 Hej 744 Hej 745 Hej 746 Hej 747 Hej 748 Hej 749 Hej 750 Hej 751 Hej 752 Hej 753 Hej 754 Hej 755 Hej 756 Hej 757 Hej 758 Hej 759 Hej 760 Hej 761 Hej 762 Hej 763 Hej 764 Hej 765 Hej 766 Hej 767 Hej 768 Hej 769 Hej 770 Hej 771 Hej 772 Hej 773 Hej 774 Hej 775 Hej 776 Hej 777 Hej 778 Hej 779 Hej 780 Hej 781 Hej 782 Hej 783 Hej 784 Hej 785 Hej 786 Hej 787 Hej 788 Hej 789 Hej 790 Hej 791 Hej 792 Hej 793 Hej 794 Hej 795 Hej 796 Hej 797 Hej 798 Hej 799 Hej 800 Hej 801 Hej 802 Hej 803 Hej 804 Hej 805 Hej 806 Hej 807 Hej 808 Hej 809 Hej 810 Hej 811 Hej 812 Hej 813 Hej 814 Hej 815 Hej 816 Hej 817 Hej 818 Hej 819 Hej 820 Hej 821 Hej 822 Hej 823 Hej 824 Hej 825 Hej 826 Hej 827 Hej 828 Hej 829 Hej 830 Hej 831 Hej 832 Hej 833 Hej 834 Hej 835 Hej 836 Hej 837 Hej 838 Hej 839 Hej 840 Hej 841 Hej 842 Hej 843 Hej 844 Hej 845 Hej 846 Hej 847 Hej 848 Hej 849 Hej 850 Hej 851 Hej 852 Hej 853 Hej 854 Hej 855 Hej 856 Hej 857 Hej 858 Hej 859 Hej 860 Hej 861 Hej 862 Hej 863 Hej 864 Hej 865 Hej 866 Hej 867 Hej 868 Hej 869 Hej 870 Hej 871 Hej 872 Hej 873 Hej 874 Hej 875 Hej 876 Hej 877 Hej 878 Hej 879 Hej 880 Hej 881 Hej 882 Hej 883 Hej 884 Hej 885 Hej 886 Hej 887 Hej 888 Hej 889 Hej 890 Hej 891 Hej 892 Hej 893 Hej 894 Hej 895 Hej 896 Hej 897 Hej 898 Hej 899 Hej 900 Hej 901 Hej 902 Hej 903 Hej 904 Hej 905 Hej 906 Hej 907 Hej 908 Hej 909 Hej 910 Hej 911 Hej 912 Hej 913 Hej 914 Hej 915 Hej 916 Hej 917 Hej 918 Hej 919 Hej 920 Hej 921 Hej 922 Hej 923 Hej 924 Hej 925 Hej 926 Hej 927 Hej 928 Hej 929 Hej 930 Hej 931 Hej 932 Hej 933 Hej 934 Hej 935 Hej 936 Hej 937 Hej 938 Hej 939 Hej 940 Hej 941 Hej 942 Hej 943 Hej 944 Hej 945 Hej 946 Hej 947 Hej 948 Hej 949 Hej 950 Hej 951 Hej 952 Hej 953 Hej 954 Hej 955 Hej 956 Hej 957 Hej 958 Hej 959 Hej 960 Hej 961 Hej 962 Hej 963 Hej 964 Hej 965 Hej 966 Hej 967 Hej 968 Hej 969 Hej 970 Hej 971 Hej 972 Hej 973 Hej 974 Hej 975 Hej 976 Hej 977 Hej 978 Hej 979 Hej 980 Hej 981 Hej 982 Hej 983 Hej 984 Hej 985 Hej 986 Hej 987 Hej 988 Hej 989 Hej 990 Hej 991 Hej 992 Hej 993 Hej 994 Hej 995 Hej 996 Hej 997 Hej 998 Hej 999 Hej 1000 Hej 1001 Hej 1002 Hej 1003 Hej 1004 Hej 1005 Hej 1006 Hej 1007 Hej 1008 Hej 1009 Hej 1010 Hej 1011 Hej 1012 Hej 1013 Hej 1014 Hej 1015 Hej 1016 Hej 1017 Hej 1018 Hej 1019 Hej 1020 Hej 1021 Hej 1022 Hej 1023 Hej 1024 Hej 1025 Hej 1026 Hej 1027 Hej 1028 Hej 1029 Hej 1030 Hej 1031 Hej 1032 Hej 1033 Hej 1034 Hej 1035 Hej 1036 Hej 1037 Hej 1038 Hej 1039 Hej 1040 Hej 1041 Hej 1042 Hej 1043 Hej 1044 Hej 1045 Hej 1046 Hej 1047 Hej 1048 Hej 1049 Hej 1050 Hej 1051 Hej 1052 Hej 1053 Hej 1054 Hej 1055 Hej 1056 Hej 1057 Hej 1058 Hej 1059 Hej 1060 Hej 1061 Hej 1062 Hej 1063 Hej 1064 Hej 1065 Hej 1066 Hej 1067 Hej 1068 Hej 1069 Hej 1070 Hej 1071 Hej 1072 Hej 1073 Hej 1074 Hej 1075 Hej 1076 Hej 1077 Hej 1078 Hej 1079 Hej 1080 Hej 1081 Hej 1082 Hej 1083 Hej 1084 Hej 1085 Hej 1086 Hej 1087 Hej 1088 Hej 1089 Hej 1090 Hej 1091 Hej 1092 Hej 1093 Hej 1094 Hej 1095 Hej 1096 Hej 1097 Hej 1098 Hej 1099 Hej 1100 Hej 1101 Hej 1102 Hej 1103 Hej 1104 Hej 1105 Hej 1106 Hej 1107 Hej 1108 Hej 1109 Hej 1110 Hej 1111 Hej 1112 Hej 1113 Hej 1114 Hej 1115 Hej 1116 Hej 1117 Hej 1118 Hej 1119 Hej 1120 Hej 1121 Hej 1122 Hej 1123 Hej 1124 Hej 1125 Hej 1126 Hej 1127 Hej 1128 Hej 1129 Hej 1130 Hej 1131 Hej 1132 Hej 1133 Hej 1134 Hej 1135 Hej 1136 Hej 1137 Hej 1138 Hej 1139 Hej 1140 Hej 1141 Hej 1142 Hej 1143 Hej 1144 Hej 1145 Hej 1146 Hej 1147 Hej 1148 Hej 1149 Hej 1150 Hej 1151 Hej 1152 Hej 1153 Hej 1154 Hej 1155 Hej 1156 Hej 1157 Hej 1158 Hej 1159 Hej 1160 Hej 1161 Hej 1162 Hej 1163 Hej 1164 Hej 1165 Hej 1166 Hej 1167 Hej 1168 Hej 1169 Hej 1170 Hej 1171 Hej 1172 Hej 1173 Hej 1174 Hej 1175 Hej 1176 Hej 1177 Hej 1178 Hej 1179 Hej 1180 Hej 1181 Hej 1182 Hej 1183 Hej 1184 Hej 1185 Hej 1186 Hej 1187 Hej 1188 Hej 1189 Hej 1190 Hej 1191 Hej 1192 Hej 1193 Hej 1194 Hej 1195 Hej 1196 Hej 1197 Hej 1198 Hej 1199 Hej 1200 Hej 1201 Hej 1202 Hej 1203 Hej 1204 Hej 1205 Hej 1206 Hej 1207 Hej 1208 Hej 1209 Hej 1210 Hej 1211 Hej 1212 Hej 1213 Hej 1214 Hej 1215 Hej 1216 Hej 1217 Hej 1218 Hej 1219 Hej 1220 Hej 1221 Hej 1222 Hej 1223 Hej 1224 Hej 1225 Hej 1226 Hej 1227 Hej 1228 Hej 1229 Hej 1230 Hej 1231 Hej 1232 Hej 1233 Hej 1234 Hej 1235 Hej 1236 Hej 1237 Hej 1238 Hej 1239 Hej 1240 Hej 1241 Hej 1242 Hej 1243 Hej 1244 Hej 1245 Hej 1246 Hej 1247 Hej 1248 Hej 1249 Hej 1250 Hej 1251 Hej 1252 Hej 1253 Hej 1254 Hej 1255 Hej 1256 Hej 1257 Hej 1258 Hej 1259 Hej 1260 Hej 1261 Hej 1262 Hej 1263 Hej 1264 Hej 1265 Hej 1266 Hej 1267 Hej 1268 Hej 1269 Hej 1270 Hej 1271 Hej 1272 Hej 1273 Hej 1274 Hej 1275 Hej 1276 Hej 1277 Hej 1278 Hej 1279 Hej 1280 Hej 1281 Hej 1282 Hej 1283 Hej 1284 Hej 1285 Hej 1286 Hej 1287 Hej 1288 Hej 1289 Hej 1290 Hej 1291 Hej 1292 Hej 1293 Hej 1294 Hej 1295 Hej 1296 Hej 1297 Hej 1298 Hej 1299 Hej 1300 Hej 1301 Hej 1302 Hej 1303 Hej 1304 Hej 1305 Hej 1306 Hej 1307 Hej 1308 Hej 1309 Hej 1310 Hej 1311 Hej 1312 Hej 1313 Hej 1314 Hej 1315 Hej 1316 Hej 1317 Hej 1318 Hej 1319 Hej 1320 Hej 1321 Hej 1322 Hej 1323 Hej 1324 Hej 1325 Hej 1326 Hej 1327 Hej 1328 Hej 1329 Hej 1330 Hej 1331 Hej 1332 Hej 1333 Hej 1334 Hej 1335 Hej 1336 Hej 1337 Hej 1338 Hej 1339 Hej 1340 Hej 1341 Hej 1342 Hej 1343 Hej 1344 Hej 1345 Hej 1346 Hej 1347 Hej 1348 Hej 1349 Hej 1350 Hej 1351 Hej 1352 Hej 1353 Hej 1354 Hej 1355 Hej 1356 Hej 1357 Hej 1358 Hej 1359 Hej 1360 Hej 1361 Hej 1362 Hej 1363 Hej 1364 Hej 1365 Hej 1366 Hej 1367 Hej 1368 Hej 1369 Hej 1370 Hej 1371 Hej 1372 Hej 1373 Hej 1374 Hej 1375 Hej 1376 Hej 1377 Hej 1378 Hej 1379 Hej 1380 Hej 1381 Hej 1382 Hej 1383 Hej 1384 Hej 1385 Hej 1386 Hej 1387 Hej 1388 Hej 1389 Hej 1390 Hej 1391 Hej 1392 Hej 1393 Hej 1394 Hej 1395 Hej 1396 Hej 1397 Hej 1398 Hej 1399 Hej 1400 Hej 1401 Hej 1402 Hej 1403 Hej 1404 Hej 1405 Hej 1406 Hej 1407 Hej 1408 Hej 1409 Hej 1410 Hej 1411 Hej 1412 Hej 1413 Hej 1414 Hej 1415 Hej 1416 Hej 1417 Hej 1418 Hej 1419 Hej 1420 Hej 1421 Hej 1422 Hej 1423 Hej 1424 Hej 1425 Hej 1426 Hej 1427 Hej 1428 Hej 1429 Hej 1430 Hej 1431 Hej 1432 Hej 1433 Hej 1434 Hej 1435 Hej 1436 Hej 1437 Hej 1438 Hej 1439 Hej 1440 Hej 1441 Hej 1442 Hej 1443 Hej 1444 Hej 1445 Hej 1446 Hej 1447 Hej 1448 Hej 1449 Hej 1450 Hej 1451 Hej 1452 Hej 1453 Hej 1454 Hej 1455 Hej 1456 Hej 1457 Hej 1458 Hej 1459 Hej 1460 Hej 1461 Hej 1462 Hej 1463 Hej 1464 Hej 1465 Hej 1466 Hej 1467 Hej 1468 Hej 1469 Hej 1470 Hej 1471 Hej 1472 Hej 1473 Hej 1474 Hej 1475 Hej 1476 Hej 1477 Hej 1478 Hej 1479 Hej 1480 Hej 1481 Hej 1482 Hej 1483 Hej 1484 Hej 1485 Hej 1486 Hej 1487 Hej 1488 Hej 1489 Hej 1490 Hej 1491 Hej 1492 Hej 1493 Hej 1494 Hej 1495 Hej 1496 Hej 1497 Hej 1498 Hej 1499 Hej 1500 Hej 1501 Hej 1502 Hej 1503 Hej 1504 Hej 1505 Hej 1506 Hej 1507 Hej 1508 Hej 1509 Hej 1510 Hej 1511 Hej 1512 Hej 1513 Hej 1514 Hej 1515 Hej 1516 Hej 1517 Hej 1518 Hej 1519 Hej 1520 Hej 1521 Hej 1522 Hej 1523 Hej 1524 Hej 1525 Hej 1526 Hej 1527 Hej 1528 Hej 1529 Hej 1530 Hej 1531 Hej 1532 Hej 1533 Hej 1534 Hej 1535 Hej 1536 Hej 1537 Hej 1538 Hej 1539 Hej 1540 Hej 1541 Hej 1542 Hej 1543 Hej 1544 Hej 1545 Hej 1546 Hej 1547 Hej 1548 Hej 1549 Hej 1550 Hej 1551 Hej 1552 Hej 1553 Hej 1554 Hej 1555 Hej 1556 Hej 1557 Hej 1558 Hej 1559 Hej 1560 Hej 1561 Hej 1562 Hej 1563 Hej 1564 Hej 1565 Hej 1566 Hej 1567 Hej 1568 Hej 1569 Hej 1570 Hej 1571 Hej 1572 Hej 1573 Hej 1574 Hej 1575 Hej 1576 Hej 1577 Hej 1578 Hej 1579 Hej 1580 Hej 1581 Hej 1582 Hej 1583 Hej 1584 Hej 1585 Hej 1586 Hej 1587 Hej 1588 Hej 1589 Hej 1590 Hej 1591 Hej 1592 Hej 1593 Hej 1594 Hej 1595 Hej 1596 Hej 1597 Hej 1598 Hej 1599 Hej 1600 Hej 1601 Hej 1602 Hej 1603 Hej 1604 Hej 1605 Hej 1606 Hej 1607 Hej 1608 Hej 1609 Hej 1610 Hej 1611 Hej 1612 Hej 1613 Hej 1614 Hej 1615 Hej 1616 Hej 1617 Hej 1618 Hej 1619 Hej 1620 Hej 1621 Hej 1622 Hej 1623 Hej 1624 Hej 1625 Hej 1626 Hej 1627 Hej 1628 Hej 1629 Hej 1630 Hej 1631 Hej 1632 Hej 1633 Hej 1634 Hej 1635 Hej 1636 Hej 1637 Hej 1638 Hej 1639 Hej 1640 Hej 1641 Hej 1642 Hej 1643 Hej 1644 Hej 1645 Hej 1646 Hej 1647 Hej 1648 Hej 1649 Hej 1650 Hej 1651 Hej 1652 Hej 1653 Hej 1654 Hej 1655 Hej 1656 Hej 1657 Hej 1658 Hej 1659 Hej 1660 Hej 1661 Hej 1662 Hej 1663 Hej 1664 Hej 1665 Hej 1666 Hej 1667 Hej 1668 Hej 1669 Hej 1670 Hej 1671 Hej 1672 Hej 1673 Hej 1674 Hej 1675 Hej 1676 Hej 1677 Hej 1678 Hej 1679 Hej 1680 Hej 1681 Hej 1682 Hej 1683 Hej 1684 Hej 1685 Hej 1686 Hej 1687 Hej 1688 Hej 1689 Hej 1690 Hej 1691 Hej 1692 Hej 1693 Hej 1694 Hej 1695 Hej 1696 Hej 1697 Hej 1698 Hej 1699 Hej 1700 Hej 1701 Hej 1702 Hej 1703 Hej 1704 Hej 1705 Hej 1706 Hej 1707 Hej 1708 Hej 1709 Hej 1710 Hej 1711 Hej 1712 Hej 1713 Hej 1714 Hej 1715 Hej 1716 Hej 1717 Hej 1718 Hej 1719 Hej 1720 Hej 1721 Hej 1722 Hej 1723 Hej 1724 Hej 1725 Hej 1726 Hej 1727 Hej 1728 Hej 1729 Hej 1730 Hej 1731 Hej 1732 Hej 1733 Hej 1734 Hej 1735 Hej 1736 Hej 1737 Hej 1738 Hej 1739 Hej 1740 Hej 1741 Hej 1742 Hej 1743 Hej 1744 Hej 1745 Hej 1746 Hej 1747 Hej 1748 Hej 1749 Hej 1750 Hej 1751 Hej 1752 Hej 1753 Hej 1754 Hej 1755 Hej 1756 Hej 1757 Hej 1758 Hej 1759 Hej 1760 Hej 1761 Hej 1762 Hej 1763 Hej 1764 Hej 1765 Hej 1766 Hej 1767 Hej 1768 Hej 1769 Hej 1770 Hej 1771 Hej 1772 Hej 1773 Hej 1774 Hej 1775 Hej 1776 Hej 1777 Hej 1778 Hej 1779 Hej 1780 Hej 1781 Hej 1782 Hej 1783 Hej 1784 Hej 1785 Hej 1786 Hej 1787 Hej 1788 Hej 1789 Hej 1790 Hej 1791 Hej 1792 Hej 1793 Hej 1794 Hej 1795 Hej 1796 Hej 1797 Hej 1798 Hej 1799 Hej 1800 Hej 1801 Hej 1802 Hej 1803 Hej 1804 Hej 1805 Hej 1806 Hej 1807 Hej 1808 Hej 1809 Hej 1810 Hej 1811 Hej 1812 Hej 1813 Hej 1814 Hej 1815 Hej 1816 Hej 1817 Hej 1818 Hej 1819 Hej 1820 Hej 1821 Hej 1822 Hej 1823 Hej 1824 Hej 1825 Hej 1826 Hej 1827 Hej 1828 Hej 1829 Hej 1830 Hej 1831 Hej 1832 Hej 1833 Hej 1834 Hej 1835 Hej 1836 Hej 1837 Hej 1838 Hej 1839 Hej 1840 Hej 1841 Hej 1842 Hej 1843 Hej 1844 Hej 1845 Hej 1846 Hej 1847 Hej 1848 Hej 1849 Hej 1850 Hej 1851 Hej 1852 Hej 1853 Hej 1854 Hej 1855 Hej 1856 Hej 1857 Hej 1858 Hej 1859 Hej 1860 Hej 1861 Hej 1862 Hej 1863 Hej 1864 Hej 1865 Hej 1866 Hej 1867 Hej 1868 Hej 1869 Hej 1870 Hej 1871 Hej 1872 Hej 1873 Hej 1874 Hej 1875 Hej 1876 Hej 1877 Hej 1878 Hej 1879 Hej 1880 Hej 1881 Hej 1882 Hej 1883 Hej 1884 Hej 1885 Hej 1886 Hej 1887 Hej 1888 Hej 1889 Hej 1890 Hej 1891 Hej 1892 Hej 1893 Hej 1894 Hej 1895 Hej 1896 Hej 1897 Hej 1898 Hej 1899 Hej 1900 Hej 1901 Hej 1902 Hej 1903 Hej 1904 Hej 1905 Hej 1906 Hej 1907 Hej 1908 Hej 1909 Hej 1910 Hej 1911 Hej 1912 Hej 1913 Hej 1914 Hej 1915 Hej 1916 Hej 1917 Hej 1918 Hej 1919 Hej 1920 Hej 1921 Hej 1922 Hej 1923 Hej 1924 Hej 1925 Hej 1926 Hej 1927 Hej 1928 Hej 1929 Hej 1930 Hej 1931 Hej 1932 Hej 1933 Hej 1934 Hej 1935 Hej 1936 Hej 1937 Hej 1938 Hej 1939 Hej 1940 Hej 1941 Hej 1942 Hej 1943 Hej 1944 Hej 1945 Hej 1946 Hej 1947 Hej 1948 Hej 1949 Hej 1950 Hej 1951 Hej 1952 Hej 1953 Hej 1954 Hej 1955 Hej 1956 Hej 1957 Hej 1958 Hej 1959 Hej 1960 Hej 1961 Hej 1962 Hej 1963 Hej 1964 Hej 1965 Hej 1966 Hej 1967 Hej 1968 Hej 1969 Hej 1970 Hej 1971 Hej 1972 Hej 1973 Hej 1974 Hej 1975 Hej 1976 Hej 1977 Hej 1978 Hej 1979 Hej 1980 Hej 1981 Hej 1982 Hej 1983 Hej 1984 Hej 1985 Hej 1986 Hej 1987 Hej 1988 Hej 1989 Hej 1990 Hej 1991 Hej 1992 Hej 1993 Hej 1994 Hej 1995 Hej 1996 Hej 1997 Hej 1998 Hej 1999 Hej 2000 Hej 2001 Hej 2002 Hej 2003 Hej 2004 Hej 2005 Hej 2006 Hej 2007 Hej 2008 Hej 2009 Hej 2010 Hej 2011 Hej 2012 Hej 2013 Hej 2014 Hej 2015 Hej 2016 Hej 2017 Hej 2018 Hej 2019 Hej 2020 Hej 2021 Hej 2022 Hej 2023 Hej 2024 Hej 2025 Hej 2026 Hej 2027 Hej 2028 Hej 2029 Hej 2030 Hej 2031 Hej 2032 Hej 2033 Hej 2034 Hej 2035 Hej 2036 Hej 2037 Hej 2038 Hej 2039 Hej 2040 Hej 2041 Hej 2042 Hej 2043 Hej 2044 Hej 2045 Hej 2046 Hej 2047 Hej 2048 Hej 2049 Hej 2050 Hej 2051 Hej 2052 Hej 2053 Hej 2054 Hej 2055 Hej 2056 Hej 2057 Hej 2058 Hej 2059 Hej 2060 Hej 2061 Hej 2062 Hej 2063 Hej 2064 Hej 2065 Hej 2066 Hej 2067 Hej 2068 Hej 2069 Hej 2070 Hej 2071 Hej 2072 Hej 2073 Hej 2074 Hej 2075 Hej 2076 Hej 2077 Hej 2078 Hej 2079 Hej 2080 Hej 2081 Hej 2082 Hej 2083 Hej 2084 Hej 2085 Hej 2086 Hej 2087 Hej 2088 Hej 2089 Hej 2090 Hej 2091 Hej 2092 Hej 2093 Hej 2094 Hej 2095 Hej 2096 Hej 2097 Hej 2098 Hej 2099 Hej 2100 Hej 2101 Hej 2102 Hej 2103 Hej 2104 Hej 2105 Hej 2106 Hej 2107 Hej 2108 Hej 2109 Hej 2110 Hej 2111 Hej 2112 Hej 2113 Hej 2114 Hej 2115 Hej 2116 Hej 2117 Hej 2118 Hej 2119 Hej 2120 Hej 2121 Hej 2122 Hej 2123 Hej 2124 Hej 2125 Hej 2126 Hej 2127 Hej 2128 Hej 2129 Hej 2130 Hej 2131 Hej 2132 Hej 2133 Hej 2134 Hej 2135 Hej 2136 Hej 2137 Hej 2138 Hej 2139 Hej 2140 Hej 2141 Hej 2142 Hej 2143 Hej 2144 Hej 2145 Hej 2146 Hej 2147 Hej 2148 Hej 2149 Hej 2150 Hej 2151 Hej 2152 Hej 2153 Hej 2154 Hej 2155 Hej 2156 Hej 2157 Hej 2158 Hej 2159 Hej 2160 Hej 2161 Hej 2162 Hej 2163 Hej 2164 Hej 2165 Hej 2166 Hej 2167 Hej 2168 Hej 2169 Hej 2170 Hej 2171 Hej 2172 Hej 2173 Hej 2174 Hej 2175 Hej 2176 Hej 2177 Hej 2178 Hej 2179 Hej 2180 Hej 2181 Hej 2182 Hej 2183 Hej 2184 Hej 2185 Hej 2186 Hej 2187 Hej 2188 Hej 2189 Hej 2190 Hej 2191 Hej 2192 Hej 2193 Hej 2194 Hej 2195 Hej 2196 Hej 2197 Hej 2198 Hej 2199 Hej 2200 Hej 2201 Hej 2202 Hej 2203 Hej 2204 Hej 2205 Hej 2206 Hej 2207 Hej 2208 Hej 2209 Hej 2210 Hej 2211 Hej 2212 Hej 2213 Hej 2214 Hej 2215 Hej 2216 Hej 2217 Hej 2218 Hej 2219 Hej 2220 Hej 2221 Hej 2222 Hej 2223 Hej 2224 Hej 2225 Hej 2226 Hej 2227 Hej 2228 Hej 2229 Hej 2230 Hej 2231 Hej 2232 Hej 2233 Hej 2234 Hej 2235 Hej 2236 Hej 2237 Hej 2238 Hej 2239 Hej 2240 Hej 2241 Hej 2242 Hej 2243 Hej 2244 Hej 2245 Hej 2246 Hej 2247 Hej 2248 Hej 2249 Hej 2250 Hej 2251 Hej 2252 Hej 2253 Hej 2254 Hej 2255 Hej 2256 Hej 2257 Hej 2258 Hej 2259 Hej 2260 Hej 2261 Hej 2262 Hej 2263 Hej 2264 Hej 2265 Hej 2266 Hej 2267 Hej 2268 Hej 2269 Hej 2270 Hej 2271 Hej 2272 Hej 2273 Hej 2274 Hej 2275 Hej 2276 Hej 2277 Hej 2278 Hej 2279 Hej 2280 Hej 2281 Hej 2282 Hej 2283 Hej 2284 Hej 2285 Hej 2286 Hej 2287 Hej 2288 Hej 2289 Hej 2290 Hej 2291 Hej 2292 Hej 2293 Hej 2294 Hej 2295 Hej 2296 Hej 2297 Hej 2298 Hej 2299 Hej 2300 Hej 2301 Hej 2302 Hej 2303 Hej 2304 Hej 2305 Hej 2306 Hej 2307 Hej 2308 Hej 2309 Hej 2310 Hej 2311 Hej 2312 Hej 2313 Hej 2314 Hej 2315 Hej 2316 Hej 2317 Hej 2318 Hej 2319 Hej 2320 Hej 2321 Hej 2322 Hej 2323 Hej 2324 Hej 2325 Hej 2326 Hej 2327 Hej 2328 Hej 2329 Hej 2330 Hej 2331 Hej 2332 Hej 2333 Hej 2334 Hej 2335 Hej 2336 Hej 2337 Hej 2338 Hej 2339 Hej 2340 Hej 2341 Hej 2342 Hej 2343 Hej 2344 Hej 2345 Hej 2346 Hej 2347 Hej 2348 Hej 2349 Hej 2350 Hej 2351 Hej 2352 Hej 2353 Hej 2354 Hej 2355 Hej 2356 Hej 2357 Hej 2358 Hej 2359 Hej 2360 Hej 2361 Hej 2362 Hej 2363 Hej 2364 Hej 2365 Hej 2366 Hej 2367 Hej 2368 Hej 2369 Hej 2370 Hej 2371 Hej 2372 Hej 2373 Hej 2374 Hej 2375 Hej 2376 Hej 2377 Hej 2378 Hej 2379 Hej 2380 Hej 2381 Hej 2382 Hej 2383 Hej 2384 Hej 2385 Hej 2386 Hej 2387 Hej 2388 Hej 2389 Hej 2390 Hej 2391 Hej 2392 Hej 2393 Hej 2394 Hej 2395 Hej 2396 Hej 2397 Hej 2398 Hej 2399 Hej 2400 Hej 2401 Hej 2402 Hej 2403 Hej 2404 Hej 2405 Hej 2406 Hej 2407 Hej 2408 Hej 2409 Hej 2410 Hej 2411 Hej 2412 Hej 2413 Hej 2414 Hej 2415 Hej 2416 Hej 2417 Hej 2418 Hej 2419 Hej 2420 Hej 2421 Hej 2422 Hej 2423 Hej 2424 Hej 2425 Hej 2426 Hej 2427 Hej 2428 Hej 2429 Hej 2430 Hej 2431 Hej 2432 Hej 2433 Hej 2434 Hej 2435 Hej 2436 Hej 2437 Hej 2438 Hej 2439 Hej 2440 Hej 2441 Hej 2442 Hej 2443 Hej 2444 Hej 2445 Hej 2446 Hej 2447 Hej 2448 Hej 2449 Hej 2450 Hej 2451 Hej 2452 Hej 2453 Hej 2454 Hej 2455 Hej 2456 Hej 2457 Hej 2458 Hej 2459 Hej 2460 Hej 2461 Hej 2462 Hej 2463 Hej 2464 Hej 2465 Hej 2466 Hej 2467 Hej 2468 Hej 2469 Hej 2470 Hej 2471 Hej 2472 Hej 2473 Hej 2474 Hej 2475 Hej 2476 Hej 2477 Hej 2478 Hej 2479 Hej 2480 Hej 2481 Hej 2482 Hej 2483 Hej 2484 Hej 2485 Hej 2486 Hej 2487 Hej 2488 Hej 2489 Hej 2490 Hej 2491 Hej 2492 Hej 2493 Hej 2494 Hej 2495 Hej 2496 Hej 2497 Hej 2498 Hej 2499 Hej 2500 Hej 2501 Hej 2502 Hej 2503 Hej 2504 Hej 2505 Hej 2506 Hej 2507 Hej 2508 Hej 2509 Hej 2510 Hej 2511 Hej 2512 Hej 2513 Hej 2514 Hej 2515 Hej 2516 Hej 2517 Hej 2518 Hej 2519 Hej 2520 Hej 2521 Hej 2522 Hej 2523 Hej 2524 Hej 2525 Hej 2526 Hej 2527 Hej 2528 Hej 2529 Hej 2530 Hej 2531 Hej 2532 Hej 2533 Hej 2534 Hej 2535 Hej 2536 Hej 2537 Hej 2538 Hej 2539 Hej 2540 Hej 2541 Hej 2542 Hej 2543 Hej 2544 Hej 2545 Hej 2546 Hej 2547 Hej 2548 Hej 2549 Hej 2550 Hej 2551 Hej 2552 Hej 2553 Hej 2554 Hej 2555 Hej 2556 Hej 2557 Hej 2558 Hej 2559 Hej 2560 Hej 2561 Hej 2562 Hej 2563 Hej 2564 Hej 2565 Hej 2566 Hej 2567 Hej 2568 Hej 2569 Hej 2570 Hej 2571 Hej 2572 Hej 2573 Hej 2574 Hej 2575 Hej 2576 Hej 2577 Hej 2578 Hej 2579 Hej 2580 Hej 2581 Hej 2582 Hej 2583 Hej 2584 Hej 2585 Hej 2586 Hej 2587 Hej 2588 Hej 2589 Hej 2590 Hej 2591 Hej 2592 Hej 2593 Hej 2594 Hej 2595 Hej 2596 Hej 2597 Hej 2598 Hej 2599 Hej 2600 Hej 2601 Hej 2602 Hej 2603 Hej 2604 Hej 2605 Hej 2606 Hej 2607 Hej 2608 Hej 2609 Hej 2610 Hej 2611 Hej 2612 Hej 2613 Hej 2614 Hej 2615 Hej 2616 Hej 2617 Hej 2618 Hej 2619 Hej 2620 Hej 2621 Hej 2622 Hej 2623 Hej 2624 Hej 2625 Hej 2626 Hej 2627 Hej 2628 Hej 2629 Hej 2630 Hej 2631 Hej 2632 Hej 2633 Hej 2634 Hej 2635 Hej 2636 Hej 2637 Hej 2638 Hej 2639 Hej 2640 Hej 2641 Hej 2642 Hej 2643 Hej 2644 Hej 2645 Hej 2646 Hej 2647 Hej 2648 Hej 2649 Hej 2650 Hej 2651 Hej 2652 Hej 2653 Hej 2654 Hej 2655 Hej 2656 Hej 2657 Hej 2658 Hej 2659 Hej 2660 Hej 2661 Hej 2662 Hej 2663 Hej 2664 Hej 2665 Hej 2666 Hej 2667 Hej 2668 Hej 2669 Hej 2670 Hej 2671 Hej 2672 Hej 2673 Hej 2674 Hej 2675 Hej 2676 Hej 2677 Hej 2678 Hej 2679 Hej 2680 Hej 2681 Hej 2682 Hej 2683 Hej 2684 Hej 2685 Hej 2686 Hej 2687 Hej 2688 Hej 2689 Hej 2690 Hej 2691 Hej 2692 Hej 2693 Hej 2694 Hej 2695 Hej 2696 Hej 2697 Hej 2698 Hej 2699 Hej 2700 Hej 2701 Hej 2702 Hej 2703 Hej 2704 Hej 2705 Hej 2706 Hej 2707 Hej 2708 Hej 2709 Hej 2710 Hej 2711 Hej 2712 Hej 2713 Hej 2714 Hej 2715 Hej 2716 Hej 2717 Hej 2718 Hej 2719 Hej 2720 Hej 2721 Hej 2722 Hej 2723 Hej 2724 Hej 2725 Hej 2726 Hej 2727 Hej 2728 Hej 2729 Hej 2730 Hej 2731 Hej 2732 Hej 2733 Hej 2734 Hej 2735 Hej 2736 Hej 2737 Hej 2738 Hej 2739 Hej 2740 Hej 2741 Hej 2742 Hej 2743 Hej 2744 Hej 2745 Hej 2746 Hej 2747 Hej 2748 Hej 2749 Hej 2750 Hej 2751 Hej 2752 Hej 2753 Hej 2754 Hej 2755 Hej 2756 Hej 2757 Hej 2758 Hej 2759 Hej 2760 Hej 2761 Hej 2762 Hej 2763 Hej 2764 Hej 2765 Hej 2766 Hej 2767 Hej 2768 Hej 2769 Hej 2770 Hej 2771 Hej 2772 Hej 2773 Hej 2774 Hej 2775 Hej 2776 Hej 2777 Hej 2778 Hej 2779 Hej 2780 Hej 2781 Hej 2782 Hej 2783 Hej 2784 Hej 2785 Hej 2786 Hej 2787 Hej 2788 Hej 2789 Hej 2790 Hej 2791 Hej 2792 Hej 2793 Hej 2794 Hej 2795 Hej 2796 Hej 2797 Hej 2798 Hej 2799 Hej 2800 Hej 2801 Hej 2802 Hej 2803 Hej 2804 Hej 2805 Hej 2806 Hej 2807 Hej 2808 Hej 2809 Hej 2810 Hej 2811 Hej 2812 Hej 2813 Hej 2814 Hej 2815 Hej 2816 Hej 2817 Hej 2818 Hej 2819 Hej 2820 Hej 2821 Hej 2822 Hej 2823 Hej 2824 Hej 2825 Hej 2826 Hej 2827 Hej 2828 Hej 2829 Hej 2830 Hej 2831 Hej 2832 Hej 2833 Hej 2834 Hej 2835 Hej 2836 Hej 2837 Hej 2838 Hej 2839 Hej 2840 Hej 2841 Hej 2842 Hej 2843 Hej 2844 Hej 2845 Hej 2846 Hej 2847 Hej 2848 Hej 2849 Hej 2850 Hej 2851 Hej 2852 Hej 2853 Hej 2854 Hej 2855 Hej 2856 Hej 2857 Hej 2858 Hej 2859 Hej 2860 Hej 2861 Hej 2862 Hej 2863 Hej 2864 Hej 2865 Hej 2866 Hej 2867 Hej 2868 Hej 2869 Hej 2870 Hej 2871 Hej 2872 Hej 2873 Hej 2874 Hej 2875 Hej 2876 Hej 2877 Hej 2878 Hej 2879 Hej 2880 Hej 2881 Hej 2882 Hej 2883 Hej 2884 Hej 2885 Hej 2886 Hej 2887 Hej 2888 Hej 2889 Hej 2890 Hej 2891 Hej 2892 Hej 2893 Hej 2894 Hej 2895 Hej 2896 Hej 2897 Hej 2898 Hej 2899 Hej 2900 Hej 2901 Hej 2902 Hej 2903 Hej 2904 Hej 2905 Hej 2906 Hej 2907 Hej 2908 Hej 2909 Hej 2910 Hej 2911 Hej 2912 Hej 2913 Hej 2914 Hej 2915 Hej 2916 Hej 2917 Hej 2918 Hej 2919 Hej 2920 Hej 2921 Hej 2922 Hej 2923 Hej 2924 Hej 2925 Hej 2926 Hej 2927 Hej 2928 Hej 2929 Hej 2930 Hej 2931 Hej 2932 Hej 2933 Hej 2934 Hej 2935 Hej 2936 Hej 2937 Hej 2938 Hej 2939 Hej 2940 Hej 2941 Hej 2942 Hej 2943 Hej 2944 Hej 2945 Hej 2946 Hej 2947 Hej 2948 Hej 2949 Hej 2950 Hej 2951 Hej 2952 Hej 2953 Hej 2954 Hej 2955 Hej 2956 Hej 2957 Hej 2958 Hej 2959 Hej 2960 Hej 2961 Hej 2962 Hej 2963 Hej 2964 Hej 2965 Hej 2966 Hej 2967 Hej 2968 Hej 2969
--------------------------------------------------------------------------- RecursionError Traceback (most recent call last) Cell In[1], line 6 3 skriv_ut_hej(heltal + 1) 4 print("Klar!") ----> 6 skriv_ut_hej(0) Cell In[1], line 3, in skriv_ut_hej(heltal) 1 def skriv_ut_hej(heltal): 2 print(f"Hej {heltal}") ----> 3 skriv_ut_hej(heltal + 1) 4 print("Klar!") Cell In[1], line 3, in skriv_ut_hej(heltal) 1 def skriv_ut_hej(heltal): 2 print(f"Hej {heltal}") ----> 3 skriv_ut_hej(heltal + 1) 4 print("Klar!") [... skipping similar frames: skriv_ut_hej at line 3 (2967 times)] Cell In[1], line 3, in skriv_ut_hej(heltal) 1 def skriv_ut_hej(heltal): 2 print(f"Hej {heltal}") ----> 3 skriv_ut_hej(heltal + 1) 4 print("Klar!") Cell In[1], line 2, in skriv_ut_hej(heltal) 1 def skriv_ut_hej(heltal): ----> 2 print(f"Hej {heltal}") 3 skriv_ut_hej(heltal + 1) 4 print("Klar!") File ~\AppData\Local\anaconda3\Lib\site-packages\ipykernel\iostream.py:635, in OutStream.write(self, string) 633 raise ValueError(msg) 634 else: --> 635 is_child = not self._is_master_process() 636 # only touch the buffer in the IO thread to avoid races 637 with self._buffer_lock: File ~\AppData\Local\anaconda3\Lib\site-packages\ipykernel\iostream.py:506, in OutStream._is_master_process(self) 505 def _is_master_process(self): --> 506 return os.getpid() == self._master_pid RecursionError: maximum recursion depth exceeded while calling a Python object
def skriv_ut_hej(heltal):
if heltal == 10:
print("Klar!")
else:
print(f"Hej {heltal}")
skriv_ut_hej(heltal + 1)
skriv_ut_hej(11)
Hej 11 Hej 12 Hej 13 Hej 14 Hej 15 Hej 16 Hej 17 Hej 18 Hej 19 Hej 20 Hej 21 Hej 22 Hej 23 Hej 24 Hej 25 Hej 26 Hej 27 Hej 28 Hej 29 Hej 30 Hej 31 Hej 32 Hej 33 Hej 34 Hej 35 Hej 36 Hej 37 Hej 38 Hej 39 Hej 40 Hej 41 Hej 42 Hej 43 Hej 44 Hej 45 Hej 46 Hej 47 Hej 48 Hej 49 Hej 50 Hej 51 Hej 52 Hej 53 Hej 54 Hej 55 Hej 56 Hej 57 Hej 58 Hej 59 Hej 60 Hej 61 Hej 62 Hej 63 Hej 64 Hej 65 Hej 66 Hej 67 Hej 68 Hej 69 Hej 70 Hej 71 Hej 72 Hej 73 Hej 74 Hej 75 Hej 76 Hej 77 Hej 78 Hej 79 Hej 80 Hej 81 Hej 82 Hej 83 Hej 84 Hej 85 Hej 86 Hej 87 Hej 88 Hej 89 Hej 90 Hej 91 Hej 92 Hej 93 Hej 94 Hej 95 Hej 96 Hej 97 Hej 98 Hej 99 Hej 100 Hej 101 Hej 102 Hej 103 Hej 104 Hej 105 Hej 106 Hej 107 Hej 108 Hej 109 Hej 110 Hej 111 Hej 112 Hej 113 Hej 114 Hej 115 Hej 116 Hej 117 Hej 118 Hej 119 Hej 120 Hej 121 Hej 122 Hej 123 Hej 124 Hej 125 Hej 126 Hej 127 Hej 128 Hej 129 Hej 130 Hej 131 Hej 132 Hej 133 Hej 134 Hej 135 Hej 136 Hej 137 Hej 138 Hej 139 Hej 140 Hej 141 Hej 142 Hej 143 Hej 144 Hej 145 Hej 146 Hej 147 Hej 148 Hej 149 Hej 150 Hej 151 Hej 152 Hej 153 Hej 154 Hej 155 Hej 156 Hej 157 Hej 158 Hej 159 Hej 160 Hej 161 Hej 162 Hej 163 Hej 164 Hej 165 Hej 166 Hej 167 Hej 168 Hej 169 Hej 170 Hej 171 Hej 172 Hej 173 Hej 174 Hej 175 Hej 176 Hej 177 Hej 178 Hej 179 Hej 180 Hej 181 Hej 182 Hej 183 Hej 184 Hej 185 Hej 186 Hej 187 Hej 188 Hej 189 Hej 190 Hej 191 Hej 192 Hej 193 Hej 194 Hej 195 Hej 196 Hej 197 Hej 198 Hej 199 Hej 200 Hej 201 Hej 202 Hej 203 Hej 204 Hej 205 Hej 206 Hej 207 Hej 208 Hej 209 Hej 210 Hej 211 Hej 212 Hej 213 Hej 214 Hej 215 Hej 216 Hej 217 Hej 218 Hej 219 Hej 220 Hej 221 Hej 222 Hej 223 Hej 224 Hej 225 Hej 226 Hej 227 Hej 228 Hej 229 Hej 230 Hej 231 Hej 232 Hej 233 Hej 234 Hej 235 Hej 236 Hej 237 Hej 238 Hej 239 Hej 240 Hej 241 Hej 242 Hej 243 Hej 244 Hej 245 Hej 246 Hej 247 Hej 248 Hej 249 Hej 250 Hej 251 Hej 252 Hej 253 Hej 254 Hej 255 Hej 256 Hej 257 Hej 258 Hej 259 Hej 260 Hej 261 Hej 262 Hej 263 Hej 264 Hej 265 Hej 266 Hej 267 Hej 268 Hej 269 Hej 270 Hej 271 Hej 272 Hej 273 Hej 274 Hej 275 Hej 276 Hej 277 Hej 278 Hej 279 Hej 280 Hej 281 Hej 282 Hej 283 Hej 284 Hej 285 Hej 286 Hej 287 Hej 288 Hej 289 Hej 290 Hej 291 Hej 292 Hej 293 Hej 294 Hej 295 Hej 296 Hej 297 Hej 298 Hej 299 Hej 300 Hej 301 Hej 302 Hej 303 Hej 304 Hej 305 Hej 306 Hej 307 Hej 308 Hej 309 Hej 310 Hej 311 Hej 312 Hej 313 Hej 314 Hej 315 Hej 316 Hej 317 Hej 318 Hej 319 Hej 320 Hej 321 Hej 322 Hej 323 Hej 324 Hej 325 Hej 326 Hej 327 Hej 328 Hej 329 Hej 330 Hej 331 Hej 332 Hej 333 Hej 334 Hej 335 Hej 336 Hej 337 Hej 338 Hej 339 Hej 340 Hej 341 Hej 342 Hej 343 Hej 344 Hej 345 Hej 346 Hej 347 Hej 348 Hej 349 Hej 350 Hej 351 Hej 352 Hej 353 Hej 354 Hej 355 Hej 356 Hej 357 Hej 358 Hej 359 Hej 360 Hej 361 Hej 362 Hej 363 Hej 364 Hej 365 Hej 366 Hej 367 Hej 368 Hej 369 Hej 370 Hej 371 Hej 372 Hej 373 Hej 374 Hej 375 Hej 376 Hej 377 Hej 378 Hej 379 Hej 380 Hej 381 Hej 382 Hej 383 Hej 384 Hej 385 Hej 386 Hej 387 Hej 388 Hej 389 Hej 390 Hej 391 Hej 392 Hej 393 Hej 394 Hej 395 Hej 396 Hej 397 Hej 398 Hej 399 Hej 400 Hej 401 Hej 402 Hej 403 Hej 404 Hej 405 Hej 406 Hej 407 Hej 408 Hej 409 Hej 410 Hej 411 Hej 412 Hej 413 Hej 414 Hej 415 Hej 416 Hej 417 Hej 418 Hej 419 Hej 420 Hej 421 Hej 422 Hej 423 Hej 424 Hej 425 Hej 426 Hej 427 Hej 428 Hej 429 Hej 430 Hej 431 Hej 432 Hej 433 Hej 434 Hej 435 Hej 436 Hej 437 Hej 438 Hej 439 Hej 440 Hej 441 Hej 442 Hej 443 Hej 444 Hej 445 Hej 446 Hej 447 Hej 448 Hej 449 Hej 450 Hej 451 Hej 452 Hej 453 Hej 454 Hej 455 Hej 456 Hej 457 Hej 458 Hej 459 Hej 460 Hej 461 Hej 462 Hej 463 Hej 464 Hej 465 Hej 466 Hej 467 Hej 468 Hej 469 Hej 470 Hej 471 Hej 472 Hej 473 Hej 474 Hej 475 Hej 476 Hej 477 Hej 478 Hej 479 Hej 480 Hej 481 Hej 482 Hej 483 Hej 484 Hej 485 Hej 486 Hej 487 Hej 488 Hej 489 Hej 490 Hej 491 Hej 492 Hej 493 Hej 494 Hej 495 Hej 496 Hej 497 Hej 498 Hej 499 Hej 500 Hej 501 Hej 502 Hej 503 Hej 504 Hej 505 Hej 506 Hej 507 Hej 508 Hej 509 Hej 510 Hej 511 Hej 512 Hej 513 Hej 514 Hej 515 Hej 516 Hej 517 Hej 518 Hej 519 Hej 520 Hej 521 Hej 522 Hej 523 Hej 524 Hej 525 Hej 526 Hej 527 Hej 528 Hej 529 Hej 530 Hej 531 Hej 532 Hej 533 Hej 534 Hej 535 Hej 536 Hej 537 Hej 538 Hej 539 Hej 540 Hej 541 Hej 542 Hej 543 Hej 544 Hej 545 Hej 546 Hej 547 Hej 548 Hej 549 Hej 550 Hej 551 Hej 552 Hej 553 Hej 554 Hej 555 Hej 556 Hej 557 Hej 558 Hej 559 Hej 560 Hej 561 Hej 562 Hej 563 Hej 564 Hej 565 Hej 566 Hej 567 Hej 568 Hej 569 Hej 570 Hej 571 Hej 572 Hej 573 Hej 574 Hej 575 Hej 576 Hej 577 Hej 578 Hej 579 Hej 580 Hej 581 Hej 582 Hej 583 Hej 584 Hej 585 Hej 586 Hej 587 Hej 588 Hej 589 Hej 590 Hej 591 Hej 592 Hej 593 Hej 594 Hej 595 Hej 596 Hej 597 Hej 598 Hej 599 Hej 600 Hej 601 Hej 602 Hej 603 Hej 604 Hej 605 Hej 606 Hej 607 Hej 608 Hej 609 Hej 610 Hej 611 Hej 612 Hej 613 Hej 614 Hej 615 Hej 616 Hej 617 Hej 618 Hej 619 Hej 620 Hej 621 Hej 622 Hej 623 Hej 624 Hej 625 Hej 626 Hej 627 Hej 628 Hej 629 Hej 630 Hej 631 Hej 632 Hej 633 Hej 634 Hej 635 Hej 636 Hej 637 Hej 638 Hej 639 Hej 640 Hej 641 Hej 642 Hej 643 Hej 644 Hej 645 Hej 646 Hej 647 Hej 648 Hej 649 Hej 650 Hej 651 Hej 652 Hej 653 Hej 654 Hej 655 Hej 656 Hej 657 Hej 658 Hej 659 Hej 660 Hej 661 Hej 662 Hej 663 Hej 664 Hej 665 Hej 666 Hej 667 Hej 668 Hej 669 Hej 670 Hej 671 Hej 672 Hej 673 Hej 674 Hej 675 Hej 676 Hej 677 Hej 678 Hej 679 Hej 680 Hej 681 Hej 682 Hej 683 Hej 684 Hej 685 Hej 686 Hej 687 Hej 688 Hej 689 Hej 690 Hej 691 Hej 692 Hej 693 Hej 694 Hej 695 Hej 696 Hej 697 Hej 698 Hej 699 Hej 700 Hej 701 Hej 702 Hej 703 Hej 704 Hej 705 Hej 706 Hej 707 Hej 708 Hej 709 Hej 710 Hej 711 Hej 712 Hej 713 Hej 714 Hej 715 Hej 716 Hej 717 Hej 718 Hej 719 Hej 720 Hej 721 Hej 722 Hej 723 Hej 724 Hej 725 Hej 726 Hej 727 Hej 728 Hej 729 Hej 730 Hej 731 Hej 732 Hej 733 Hej 734 Hej 735 Hej 736 Hej 737 Hej 738 Hej 739 Hej 740 Hej 741 Hej 742 Hej 743 Hej 744 Hej 745 Hej 746 Hej 747 Hej 748 Hej 749 Hej 750 Hej 751 Hej 752 Hej 753 Hej 754 Hej 755 Hej 756 Hej 757 Hej 758 Hej 759 Hej 760 Hej 761 Hej 762 Hej 763 Hej 764 Hej 765 Hej 766 Hej 767 Hej 768 Hej 769 Hej 770 Hej 771 Hej 772 Hej 773 Hej 774 Hej 775 Hej 776 Hej 777 Hej 778 Hej 779 Hej 780 Hej 781 Hej 782 Hej 783 Hej 784 Hej 785 Hej 786 Hej 787 Hej 788 Hej 789 Hej 790 Hej 791 Hej 792 Hej 793 Hej 794 Hej 795 Hej 796 Hej 797 Hej 798 Hej 799 Hej 800 Hej 801 Hej 802 Hej 803 Hej 804 Hej 805 Hej 806 Hej 807 Hej 808 Hej 809 Hej 810 Hej 811 Hej 812 Hej 813 Hej 814 Hej 815 Hej 816 Hej 817 Hej 818 Hej 819 Hej 820 Hej 821 Hej 822 Hej 823 Hej 824 Hej 825 Hej 826 Hej 827 Hej 828 Hej 829 Hej 830 Hej 831 Hej 832 Hej 833 Hej 834 Hej 835 Hej 836 Hej 837 Hej 838 Hej 839 Hej 840 Hej 841 Hej 842 Hej 843 Hej 844 Hej 845 Hej 846 Hej 847 Hej 848 Hej 849 Hej 850 Hej 851 Hej 852 Hej 853 Hej 854 Hej 855 Hej 856 Hej 857 Hej 858 Hej 859 Hej 860 Hej 861 Hej 862 Hej 863 Hej 864 Hej 865 Hej 866 Hej 867 Hej 868 Hej 869 Hej 870 Hej 871 Hej 872 Hej 873 Hej 874 Hej 875 Hej 876 Hej 877 Hej 878 Hej 879 Hej 880 Hej 881 Hej 882 Hej 883 Hej 884 Hej 885 Hej 886 Hej 887 Hej 888 Hej 889 Hej 890 Hej 891 Hej 892 Hej 893 Hej 894 Hej 895 Hej 896 Hej 897 Hej 898 Hej 899 Hej 900 Hej 901 Hej 902 Hej 903 Hej 904 Hej 905 Hej 906 Hej 907 Hej 908 Hej 909 Hej 910 Hej 911 Hej 912 Hej 913 Hej 914 Hej 915 Hej 916 Hej 917 Hej 918 Hej 919 Hej 920 Hej 921 Hej 922 Hej 923 Hej 924 Hej 925 Hej 926 Hej 927 Hej 928 Hej 929 Hej 930 Hej 931 Hej 932 Hej 933 Hej 934 Hej 935 Hej 936 Hej 937 Hej 938 Hej 939 Hej 940 Hej 941 Hej 942 Hej 943 Hej 944 Hej 945 Hej 946 Hej 947 Hej 948 Hej 949 Hej 950 Hej 951 Hej 952 Hej 953 Hej 954 Hej 955 Hej 956 Hej 957 Hej 958 Hej 959 Hej 960 Hej 961 Hej 962 Hej 963 Hej 964 Hej 965 Hej 966 Hej 967 Hej 968 Hej 969 Hej 970 Hej 971 Hej 972 Hej 973 Hej 974 Hej 975 Hej 976 Hej 977 Hej 978 Hej 979 Hej 980 Hej 981 Hej 982 Hej 983 Hej 984 Hej 985 Hej 986 Hej 987 Hej 988 Hej 989 Hej 990 Hej 991 Hej 992 Hej 993 Hej 994 Hej 995 Hej 996 Hej 997 Hej 998 Hej 999 Hej 1000 Hej 1001 Hej 1002 Hej 1003 Hej 1004 Hej 1005 Hej 1006 Hej 1007 Hej 1008 Hej 1009 Hej 1010 Hej 1011 Hej 1012 Hej 1013 Hej 1014 Hej 1015 Hej 1016 Hej 1017 Hej 1018 Hej 1019 Hej 1020 Hej 1021 Hej 1022 Hej 1023 Hej 1024 Hej 1025 Hej 1026 Hej 1027 Hej 1028 Hej 1029 Hej 1030 Hej 1031 Hej 1032 Hej 1033 Hej 1034 Hej 1035 Hej 1036 Hej 1037 Hej 1038 Hej 1039 Hej 1040 Hej 1041 Hej 1042 Hej 1043 Hej 1044 Hej 1045 Hej 1046 Hej 1047 Hej 1048 Hej 1049 Hej 1050 Hej 1051 Hej 1052 Hej 1053 Hej 1054 Hej 1055 Hej 1056 Hej 1057 Hej 1058 Hej 1059 Hej 1060 Hej 1061 Hej 1062 Hej 1063 Hej 1064 Hej 1065 Hej 1066 Hej 1067 Hej 1068 Hej 1069 Hej 1070 Hej 1071 Hej 1072 Hej 1073 Hej 1074 Hej 1075 Hej 1076 Hej 1077 Hej 1078 Hej 1079 Hej 1080 Hej 1081 Hej 1082 Hej 1083 Hej 1084 Hej 1085 Hej 1086 Hej 1087 Hej 1088 Hej 1089 Hej 1090 Hej 1091 Hej 1092 Hej 1093 Hej 1094 Hej 1095 Hej 1096 Hej 1097 Hej 1098 Hej 1099 Hej 1100 Hej 1101 Hej 1102 Hej 1103 Hej 1104 Hej 1105 Hej 1106 Hej 1107 Hej 1108 Hej 1109 Hej 1110 Hej 1111 Hej 1112 Hej 1113 Hej 1114 Hej 1115 Hej 1116 Hej 1117 Hej 1118 Hej 1119 Hej 1120 Hej 1121 Hej 1122 Hej 1123 Hej 1124 Hej 1125 Hej 1126 Hej 1127 Hej 1128 Hej 1129 Hej 1130 Hej 1131 Hej 1132 Hej 1133 Hej 1134 Hej 1135 Hej 1136 Hej 1137 Hej 1138 Hej 1139 Hej 1140 Hej 1141 Hej 1142 Hej 1143 Hej 1144 Hej 1145 Hej 1146 Hej 1147 Hej 1148 Hej 1149 Hej 1150 Hej 1151 Hej 1152 Hej 1153 Hej 1154 Hej 1155 Hej 1156 Hej 1157 Hej 1158 Hej 1159 Hej 1160 Hej 1161 Hej 1162 Hej 1163 Hej 1164 Hej 1165 Hej 1166 Hej 1167 Hej 1168 Hej 1169 Hej 1170 Hej 1171 Hej 1172 Hej 1173 Hej 1174 Hej 1175 Hej 1176 Hej 1177 Hej 1178 Hej 1179 Hej 1180 Hej 1181 Hej 1182 Hej 1183 Hej 1184 Hej 1185 Hej 1186 Hej 1187 Hej 1188 Hej 1189 Hej 1190 Hej 1191 Hej 1192 Hej 1193 Hej 1194 Hej 1195 Hej 1196 Hej 1197 Hej 1198 Hej 1199 Hej 1200 Hej 1201 Hej 1202 Hej 1203 Hej 1204 Hej 1205 Hej 1206 Hej 1207 Hej 1208 Hej 1209 Hej 1210 Hej 1211 Hej 1212 Hej 1213 Hej 1214 Hej 1215 Hej 1216 Hej 1217 Hej 1218 Hej 1219 Hej 1220 Hej 1221 Hej 1222 Hej 1223 Hej 1224 Hej 1225 Hej 1226 Hej 1227 Hej 1228 Hej 1229 Hej 1230 Hej 1231 Hej 1232 Hej 1233 Hej 1234 Hej 1235 Hej 1236 Hej 1237 Hej 1238 Hej 1239 Hej 1240 Hej 1241 Hej 1242 Hej 1243 Hej 1244 Hej 1245 Hej 1246 Hej 1247 Hej 1248 Hej 1249 Hej 1250 Hej 1251 Hej 1252 Hej 1253 Hej 1254 Hej 1255 Hej 1256 Hej 1257 Hej 1258 Hej 1259 Hej 1260 Hej 1261 Hej 1262 Hej 1263 Hej 1264 Hej 1265 Hej 1266 Hej 1267 Hej 1268 Hej 1269 Hej 1270 Hej 1271 Hej 1272 Hej 1273 Hej 1274 Hej 1275 Hej 1276 Hej 1277 Hej 1278 Hej 1279 Hej 1280 Hej 1281 Hej 1282 Hej 1283 Hej 1284 Hej 1285 Hej 1286 Hej 1287 Hej 1288 Hej 1289 Hej 1290 Hej 1291 Hej 1292 Hej 1293 Hej 1294 Hej 1295 Hej 1296 Hej 1297 Hej 1298 Hej 1299 Hej 1300 Hej 1301 Hej 1302 Hej 1303 Hej 1304 Hej 1305 Hej 1306 Hej 1307 Hej 1308 Hej 1309 Hej 1310 Hej 1311 Hej 1312 Hej 1313 Hej 1314 Hej 1315 Hej 1316 Hej 1317 Hej 1318 Hej 1319 Hej 1320 Hej 1321 Hej 1322 Hej 1323 Hej 1324 Hej 1325 Hej 1326 Hej 1327 Hej 1328 Hej 1329 Hej 1330 Hej 1331 Hej 1332 Hej 1333 Hej 1334 Hej 1335 Hej 1336 Hej 1337 Hej 1338 Hej 1339 Hej 1340 Hej 1341 Hej 1342 Hej 1343 Hej 1344 Hej 1345 Hej 1346 Hej 1347 Hej 1348 Hej 1349 Hej 1350 Hej 1351 Hej 1352 Hej 1353 Hej 1354 Hej 1355 Hej 1356 Hej 1357 Hej 1358 Hej 1359 Hej 1360 Hej 1361 Hej 1362 Hej 1363 Hej 1364 Hej 1365 Hej 1366 Hej 1367 Hej 1368 Hej 1369 Hej 1370 Hej 1371 Hej 1372 Hej 1373 Hej 1374 Hej 1375 Hej 1376 Hej 1377 Hej 1378 Hej 1379 Hej 1380 Hej 1381 Hej 1382 Hej 1383 Hej 1384 Hej 1385 Hej 1386 Hej 1387 Hej 1388 Hej 1389 Hej 1390 Hej 1391 Hej 1392 Hej 1393 Hej 1394 Hej 1395 Hej 1396 Hej 1397 Hej 1398 Hej 1399 Hej 1400 Hej 1401 Hej 1402 Hej 1403 Hej 1404 Hej 1405 Hej 1406 Hej 1407 Hej 1408 Hej 1409 Hej 1410 Hej 1411 Hej 1412 Hej 1413 Hej 1414 Hej 1415 Hej 1416 Hej 1417 Hej 1418 Hej 1419 Hej 1420 Hej 1421 Hej 1422 Hej 1423 Hej 1424 Hej 1425 Hej 1426 Hej 1427 Hej 1428 Hej 1429 Hej 1430 Hej 1431 Hej 1432 Hej 1433 Hej 1434 Hej 1435 Hej 1436 Hej 1437 Hej 1438 Hej 1439 Hej 1440 Hej 1441 Hej 1442 Hej 1443 Hej 1444 Hej 1445 Hej 1446 Hej 1447 Hej 1448 Hej 1449 Hej 1450 Hej 1451 Hej 1452 Hej 1453 Hej 1454 Hej 1455 Hej 1456 Hej 1457 Hej 1458 Hej 1459 Hej 1460 Hej 1461 Hej 1462 Hej 1463 Hej 1464 Hej 1465 Hej 1466 Hej 1467 Hej 1468 Hej 1469 Hej 1470 Hej 1471 Hej 1472 Hej 1473 Hej 1474 Hej 1475 Hej 1476 Hej 1477 Hej 1478 Hej 1479 Hej 1480 Hej 1481 Hej 1482 Hej 1483 Hej 1484 Hej 1485 Hej 1486 Hej 1487 Hej 1488 Hej 1489 Hej 1490 Hej 1491 Hej 1492 Hej 1493 Hej 1494 Hej 1495 Hej 1496 Hej 1497 Hej 1498 Hej 1499 Hej 1500 Hej 1501 Hej 1502 Hej 1503 Hej 1504 Hej 1505 Hej 1506 Hej 1507 Hej 1508 Hej 1509 Hej 1510 Hej 1511 Hej 1512 Hej 1513 Hej 1514 Hej 1515 Hej 1516 Hej 1517 Hej 1518 Hej 1519 Hej 1520 Hej 1521 Hej 1522 Hej 1523 Hej 1524 Hej 1525 Hej 1526 Hej 1527 Hej 1528 Hej 1529 Hej 1530 Hej 1531 Hej 1532 Hej 1533 Hej 1534 Hej 1535 Hej 1536 Hej 1537 Hej 1538 Hej 1539 Hej 1540 Hej 1541 Hej 1542 Hej 1543 Hej 1544 Hej 1545 Hej 1546 Hej 1547 Hej 1548 Hej 1549 Hej 1550 Hej 1551 Hej 1552 Hej 1553 Hej 1554 Hej 1555 Hej 1556 Hej 1557 Hej 1558 Hej 1559 Hej 1560 Hej 1561 Hej 1562 Hej 1563 Hej 1564 Hej 1565 Hej 1566 Hej 1567 Hej 1568 Hej 1569 Hej 1570 Hej 1571 Hej 1572 Hej 1573 Hej 1574 Hej 1575 Hej 1576 Hej 1577 Hej 1578 Hej 1579 Hej 1580 Hej 1581 Hej 1582 Hej 1583 Hej 1584 Hej 1585 Hej 1586 Hej 1587 Hej 1588 Hej 1589 Hej 1590 Hej 1591 Hej 1592 Hej 1593 Hej 1594 Hej 1595 Hej 1596 Hej 1597 Hej 1598 Hej 1599 Hej 1600 Hej 1601 Hej 1602 Hej 1603 Hej 1604 Hej 1605 Hej 1606 Hej 1607 Hej 1608 Hej 1609 Hej 1610 Hej 1611 Hej 1612 Hej 1613 Hej 1614 Hej 1615 Hej 1616 Hej 1617 Hej 1618 Hej 1619 Hej 1620 Hej 1621 Hej 1622 Hej 1623 Hej 1624 Hej 1625 Hej 1626 Hej 1627 Hej 1628 Hej 1629 Hej 1630 Hej 1631 Hej 1632 Hej 1633 Hej 1634 Hej 1635 Hej 1636 Hej 1637 Hej 1638 Hej 1639 Hej 1640 Hej 1641 Hej 1642 Hej 1643 Hej 1644 Hej 1645 Hej 1646 Hej 1647 Hej 1648 Hej 1649 Hej 1650 Hej 1651 Hej 1652 Hej 1653 Hej 1654 Hej 1655 Hej 1656 Hej 1657 Hej 1658 Hej 1659 Hej 1660 Hej 1661 Hej 1662 Hej 1663 Hej 1664 Hej 1665 Hej 1666 Hej 1667 Hej 1668 Hej 1669 Hej 1670 Hej 1671 Hej 1672 Hej 1673 Hej 1674 Hej 1675 Hej 1676 Hej 1677 Hej 1678 Hej 1679 Hej 1680 Hej 1681 Hej 1682 Hej 1683 Hej 1684 Hej 1685 Hej 1686 Hej 1687 Hej 1688 Hej 1689 Hej 1690 Hej 1691 Hej 1692 Hej 1693 Hej 1694 Hej 1695 Hej 1696 Hej 1697 Hej 1698 Hej 1699 Hej 1700 Hej 1701 Hej 1702 Hej 1703 Hej 1704 Hej 1705 Hej 1706 Hej 1707 Hej 1708 Hej 1709 Hej 1710 Hej 1711 Hej 1712 Hej 1713 Hej 1714 Hej 1715 Hej 1716 Hej 1717 Hej 1718 Hej 1719 Hej 1720 Hej 1721 Hej 1722 Hej 1723 Hej 1724 Hej 1725 Hej 1726 Hej 1727 Hej 1728 Hej 1729 Hej 1730 Hej 1731 Hej 1732 Hej 1733 Hej 1734 Hej 1735 Hej 1736 Hej 1737 Hej 1738 Hej 1739 Hej 1740 Hej 1741 Hej 1742 Hej 1743 Hej 1744 Hej 1745 Hej 1746 Hej 1747 Hej 1748 Hej 1749 Hej 1750 Hej 1751 Hej 1752 Hej 1753 Hej 1754 Hej 1755 Hej 1756 Hej 1757 Hej 1758 Hej 1759 Hej 1760 Hej 1761 Hej 1762 Hej 1763 Hej 1764 Hej 1765 Hej 1766 Hej 1767 Hej 1768 Hej 1769 Hej 1770 Hej 1771 Hej 1772 Hej 1773 Hej 1774 Hej 1775 Hej 1776 Hej 1777 Hej 1778 Hej 1779 Hej 1780 Hej 1781 Hej 1782 Hej 1783 Hej 1784 Hej 1785 Hej 1786 Hej 1787 Hej 1788 Hej 1789 Hej 1790 Hej 1791 Hej 1792 Hej 1793 Hej 1794 Hej 1795 Hej 1796 Hej 1797 Hej 1798 Hej 1799 Hej 1800 Hej 1801 Hej 1802 Hej 1803 Hej 1804 Hej 1805 Hej 1806 Hej 1807 Hej 1808 Hej 1809 Hej 1810 Hej 1811 Hej 1812 Hej 1813 Hej 1814 Hej 1815 Hej 1816 Hej 1817 Hej 1818 Hej 1819 Hej 1820 Hej 1821 Hej 1822 Hej 1823 Hej 1824 Hej 1825 Hej 1826 Hej 1827 Hej 1828 Hej 1829 Hej 1830 Hej 1831 Hej 1832 Hej 1833 Hej 1834 Hej 1835 Hej 1836 Hej 1837 Hej 1838 Hej 1839 Hej 1840 Hej 1841 Hej 1842 Hej 1843 Hej 1844 Hej 1845 Hej 1846 Hej 1847 Hej 1848 Hej 1849 Hej 1850 Hej 1851 Hej 1852 Hej 1853 Hej 1854 Hej 1855 Hej 1856 Hej 1857 Hej 1858 Hej 1859 Hej 1860 Hej 1861 Hej 1862 Hej 1863 Hej 1864 Hej 1865 Hej 1866 Hej 1867 Hej 1868 Hej 1869 Hej 1870 Hej 1871 Hej 1872 Hej 1873 Hej 1874 Hej 1875 Hej 1876 Hej 1877 Hej 1878 Hej 1879 Hej 1880 Hej 1881 Hej 1882 Hej 1883 Hej 1884 Hej 1885 Hej 1886 Hej 1887 Hej 1888 Hej 1889 Hej 1890 Hej 1891 Hej 1892 Hej 1893 Hej 1894 Hej 1895 Hej 1896 Hej 1897 Hej 1898 Hej 1899 Hej 1900 Hej 1901 Hej 1902 Hej 1903 Hej 1904 Hej 1905 Hej 1906 Hej 1907 Hej 1908 Hej 1909 Hej 1910 Hej 1911 Hej 1912 Hej 1913 Hej 1914 Hej 1915 Hej 1916 Hej 1917 Hej 1918 Hej 1919 Hej 1920 Hej 1921 Hej 1922 Hej 1923 Hej 1924 Hej 1925 Hej 1926 Hej 1927 Hej 1928 Hej 1929 Hej 1930 Hej 1931 Hej 1932 Hej 1933 Hej 1934 Hej 1935 Hej 1936 Hej 1937 Hej 1938 Hej 1939 Hej 1940 Hej 1941 Hej 1942 Hej 1943 Hej 1944 Hej 1945 Hej 1946 Hej 1947 Hej 1948 Hej 1949 Hej 1950 Hej 1951 Hej 1952 Hej 1953 Hej 1954 Hej 1955 Hej 1956 Hej 1957 Hej 1958 Hej 1959 Hej 1960 Hej 1961 Hej 1962 Hej 1963 Hej 1964 Hej 1965 Hej 1966 Hej 1967 Hej 1968 Hej 1969 Hej 1970 Hej 1971 Hej 1972 Hej 1973 Hej 1974 Hej 1975 Hej 1976 Hej 1977 Hej 1978 Hej 1979 Hej 1980 Hej 1981 Hej 1982 Hej 1983 Hej 1984 Hej 1985 Hej 1986 Hej 1987 Hej 1988 Hej 1989 Hej 1990 Hej 1991 Hej 1992 Hej 1993 Hej 1994 Hej 1995 Hej 1996 Hej 1997 Hej 1998 Hej 1999 Hej 2000 Hej 2001 Hej 2002 Hej 2003 Hej 2004 Hej 2005 Hej 2006 Hej 2007 Hej 2008 Hej 2009 Hej 2010 Hej 2011 Hej 2012 Hej 2013 Hej 2014 Hej 2015 Hej 2016 Hej 2017 Hej 2018 Hej 2019 Hej 2020 Hej 2021 Hej 2022 Hej 2023 Hej 2024 Hej 2025 Hej 2026 Hej 2027 Hej 2028 Hej 2029 Hej 2030 Hej 2031 Hej 2032 Hej 2033 Hej 2034 Hej 2035 Hej 2036 Hej 2037 Hej 2038 Hej 2039 Hej 2040 Hej 2041 Hej 2042 Hej 2043 Hej 2044 Hej 2045 Hej 2046 Hej 2047 Hej 2048 Hej 2049 Hej 2050 Hej 2051 Hej 2052 Hej 2053 Hej 2054 Hej 2055 Hej 2056 Hej 2057 Hej 2058 Hej 2059 Hej 2060 Hej 2061 Hej 2062 Hej 2063 Hej 2064 Hej 2065 Hej 2066 Hej 2067 Hej 2068 Hej 2069 Hej 2070 Hej 2071 Hej 2072 Hej 2073 Hej 2074 Hej 2075 Hej 2076 Hej 2077 Hej 2078 Hej 2079 Hej 2080 Hej 2081 Hej 2082 Hej 2083 Hej 2084 Hej 2085 Hej 2086 Hej 2087 Hej 2088 Hej 2089 Hej 2090 Hej 2091 Hej 2092 Hej 2093 Hej 2094 Hej 2095 Hej 2096 Hej 2097 Hej 2098 Hej 2099 Hej 2100 Hej 2101 Hej 2102 Hej 2103 Hej 2104 Hej 2105 Hej 2106 Hej 2107 Hej 2108 Hej 2109 Hej 2110 Hej 2111 Hej 2112 Hej 2113 Hej 2114 Hej 2115 Hej 2116 Hej 2117 Hej 2118 Hej 2119 Hej 2120 Hej 2121 Hej 2122 Hej 2123 Hej 2124 Hej 2125 Hej 2126 Hej 2127 Hej 2128 Hej 2129 Hej 2130 Hej 2131 Hej 2132 Hej 2133 Hej 2134 Hej 2135 Hej 2136 Hej 2137 Hej 2138 Hej 2139 Hej 2140 Hej 2141 Hej 2142 Hej 2143 Hej 2144 Hej 2145 Hej 2146 Hej 2147 Hej 2148 Hej 2149 Hej 2150 Hej 2151 Hej 2152 Hej 2153 Hej 2154 Hej 2155 Hej 2156 Hej 2157 Hej 2158 Hej 2159 Hej 2160 Hej 2161 Hej 2162 Hej 2163 Hej 2164 Hej 2165 Hej 2166 Hej 2167 Hej 2168 Hej 2169 Hej 2170 Hej 2171 Hej 2172 Hej 2173 Hej 2174 Hej 2175 Hej 2176 Hej 2177 Hej 2178 Hej 2179 Hej 2180 Hej 2181 Hej 2182 Hej 2183 Hej 2184 Hej 2185 Hej 2186 Hej 2187 Hej 2188 Hej 2189 Hej 2190 Hej 2191 Hej 2192 Hej 2193 Hej 2194 Hej 2195 Hej 2196 Hej 2197 Hej 2198 Hej 2199 Hej 2200 Hej 2201 Hej 2202 Hej 2203 Hej 2204 Hej 2205 Hej 2206 Hej 2207 Hej 2208 Hej 2209 Hej 2210 Hej 2211 Hej 2212 Hej 2213 Hej 2214 Hej 2215 Hej 2216 Hej 2217 Hej 2218 Hej 2219 Hej 2220 Hej 2221 Hej 2222 Hej 2223 Hej 2224 Hej 2225 Hej 2226 Hej 2227 Hej 2228 Hej 2229 Hej 2230 Hej 2231 Hej 2232 Hej 2233 Hej 2234 Hej 2235 Hej 2236 Hej 2237 Hej 2238 Hej 2239 Hej 2240 Hej 2241 Hej 2242 Hej 2243 Hej 2244 Hej 2245 Hej 2246 Hej 2247 Hej 2248 Hej 2249 Hej 2250 Hej 2251 Hej 2252 Hej 2253 Hej 2254 Hej 2255 Hej 2256 Hej 2257 Hej 2258 Hej 2259 Hej 2260 Hej 2261 Hej 2262 Hej 2263 Hej 2264 Hej 2265 Hej 2266 Hej 2267 Hej 2268 Hej 2269 Hej 2270 Hej 2271 Hej 2272 Hej 2273 Hej 2274 Hej 2275 Hej 2276 Hej 2277 Hej 2278 Hej 2279 Hej 2280 Hej 2281 Hej 2282 Hej 2283 Hej 2284 Hej 2285 Hej 2286 Hej 2287 Hej 2288 Hej 2289 Hej 2290 Hej 2291 Hej 2292 Hej 2293 Hej 2294 Hej 2295 Hej 2296 Hej 2297 Hej 2298 Hej 2299 Hej 2300 Hej 2301 Hej 2302 Hej 2303 Hej 2304 Hej 2305 Hej 2306 Hej 2307 Hej 2308 Hej 2309 Hej 2310 Hej 2311 Hej 2312 Hej 2313 Hej 2314 Hej 2315 Hej 2316 Hej 2317 Hej 2318 Hej 2319 Hej 2320 Hej 2321 Hej 2322 Hej 2323 Hej 2324 Hej 2325 Hej 2326 Hej 2327 Hej 2328 Hej 2329 Hej 2330 Hej 2331 Hej 2332 Hej 2333 Hej 2334 Hej 2335 Hej 2336 Hej 2337 Hej 2338 Hej 2339 Hej 2340 Hej 2341 Hej 2342 Hej 2343 Hej 2344 Hej 2345 Hej 2346 Hej 2347 Hej 2348 Hej 2349 Hej 2350 Hej 2351 Hej 2352 Hej 2353 Hej 2354 Hej 2355 Hej 2356 Hej 2357 Hej 2358 Hej 2359 Hej 2360 Hej 2361 Hej 2362 Hej 2363 Hej 2364 Hej 2365 Hej 2366 Hej 2367 Hej 2368 Hej 2369 Hej 2370 Hej 2371 Hej 2372 Hej 2373 Hej 2374 Hej 2375 Hej 2376 Hej 2377 Hej 2378 Hej 2379 Hej 2380 Hej 2381 Hej 2382 Hej 2383 Hej 2384 Hej 2385 Hej 2386 Hej 2387 Hej 2388 Hej 2389 Hej 2390 Hej 2391 Hej 2392 Hej 2393 Hej 2394 Hej 2395 Hej 2396 Hej 2397 Hej 2398 Hej 2399 Hej 2400 Hej 2401 Hej 2402 Hej 2403 Hej 2404 Hej 2405 Hej 2406 Hej 2407 Hej 2408 Hej 2409 Hej 2410 Hej 2411 Hej 2412 Hej 2413 Hej 2414 Hej 2415 Hej 2416 Hej 2417 Hej 2418 Hej 2419 Hej 2420 Hej 2421 Hej 2422 Hej 2423 Hej 2424 Hej 2425 Hej 2426 Hej 2427 Hej 2428 Hej 2429 Hej 2430 Hej 2431 Hej 2432 Hej 2433 Hej 2434 Hej 2435 Hej 2436 Hej 2437 Hej 2438 Hej 2439 Hej 2440 Hej 2441 Hej 2442 Hej 2443 Hej 2444 Hej 2445 Hej 2446 Hej 2447 Hej 2448 Hej 2449 Hej 2450 Hej 2451 Hej 2452 Hej 2453 Hej 2454 Hej 2455 Hej 2456 Hej 2457 Hej 2458 Hej 2459 Hej 2460 Hej 2461 Hej 2462 Hej 2463 Hej 2464 Hej 2465 Hej 2466 Hej 2467 Hej 2468 Hej 2469 Hej 2470 Hej 2471 Hej 2472 Hej 2473 Hej 2474 Hej 2475 Hej 2476 Hej 2477 Hej 2478 Hej 2479 Hej 2480 Hej 2481 Hej 2482 Hej 2483 Hej 2484 Hej 2485 Hej 2486 Hej 2487 Hej 2488 Hej 2489 Hej 2490 Hej 2491 Hej 2492 Hej 2493 Hej 2494 Hej 2495 Hej 2496 Hej 2497 Hej 2498 Hej 2499 Hej 2500 Hej 2501 Hej 2502 Hej 2503 Hej 2504 Hej 2505 Hej 2506 Hej 2507 Hej 2508 Hej 2509 Hej 2510 Hej 2511 Hej 2512 Hej 2513 Hej 2514 Hej 2515 Hej 2516 Hej 2517 Hej 2518 Hej 2519 Hej 2520 Hej 2521 Hej 2522 Hej 2523 Hej 2524 Hej 2525 Hej 2526 Hej 2527 Hej 2528 Hej 2529 Hej 2530 Hej 2531 Hej 2532 Hej 2533 Hej 2534 Hej 2535 Hej 2536 Hej 2537 Hej 2538 Hej 2539 Hej 2540 Hej 2541 Hej 2542 Hej 2543 Hej 2544 Hej 2545 Hej 2546 Hej 2547 Hej 2548 Hej 2549 Hej 2550 Hej 2551 Hej 2552 Hej 2553 Hej 2554 Hej 2555 Hej 2556 Hej 2557 Hej 2558 Hej 2559 Hej 2560 Hej 2561 Hej 2562 Hej 2563 Hej 2564 Hej 2565 Hej 2566 Hej 2567 Hej 2568 Hej 2569 Hej 2570 Hej 2571 Hej 2572 Hej 2573 Hej 2574 Hej 2575 Hej 2576 Hej 2577 Hej 2578 Hej 2579 Hej 2580 Hej 2581 Hej 2582 Hej 2583 Hej 2584 Hej 2585 Hej 2586 Hej 2587 Hej 2588 Hej 2589 Hej 2590 Hej 2591 Hej 2592 Hej 2593 Hej 2594 Hej 2595 Hej 2596 Hej 2597 Hej 2598 Hej 2599 Hej 2600 Hej 2601 Hej 2602 Hej 2603 Hej 2604 Hej 2605 Hej 2606 Hej 2607 Hej 2608 Hej 2609 Hej 2610 Hej 2611 Hej 2612 Hej 2613 Hej 2614 Hej 2615 Hej 2616 Hej 2617 Hej 2618 Hej 2619 Hej 2620 Hej 2621 Hej 2622 Hej 2623 Hej 2624 Hej 2625 Hej 2626 Hej 2627 Hej 2628 Hej 2629 Hej 2630 Hej 2631 Hej 2632 Hej 2633 Hej 2634 Hej 2635 Hej 2636 Hej 2637 Hej 2638 Hej 2639 Hej 2640 Hej 2641 Hej 2642 Hej 2643 Hej 2644 Hej 2645 Hej 2646 Hej 2647 Hej 2648 Hej 2649 Hej 2650 Hej 2651 Hej 2652 Hej 2653 Hej 2654 Hej 2655 Hej 2656 Hej 2657 Hej 2658 Hej 2659 Hej 2660 Hej 2661 Hej 2662 Hej 2663 Hej 2664 Hej 2665 Hej 2666 Hej 2667 Hej 2668 Hej 2669 Hej 2670 Hej 2671 Hej 2672 Hej 2673 Hej 2674 Hej 2675 Hej 2676 Hej 2677 Hej 2678 Hej 2679 Hej 2680 Hej 2681 Hej 2682 Hej 2683 Hej 2684 Hej 2685 Hej 2686 Hej 2687 Hej 2688 Hej 2689 Hej 2690 Hej 2691 Hej 2692 Hej 2693 Hej 2694 Hej 2695 Hej 2696 Hej 2697 Hej 2698 Hej 2699 Hej 2700 Hej 2701 Hej 2702 Hej 2703 Hej 2704 Hej 2705 Hej 2706 Hej 2707 Hej 2708 Hej 2709 Hej 2710 Hej 2711 Hej 2712 Hej 2713 Hej 2714 Hej 2715 Hej 2716 Hej 2717 Hej 2718 Hej 2719 Hej 2720 Hej 2721 Hej 2722 Hej 2723 Hej 2724 Hej 2725 Hej 2726 Hej 2727 Hej 2728 Hej 2729 Hej 2730 Hej 2731 Hej 2732 Hej 2733 Hej 2734 Hej 2735 Hej 2736 Hej 2737 Hej 2738 Hej 2739 Hej 2740 Hej 2741 Hej 2742 Hej 2743 Hej 2744 Hej 2745 Hej 2746 Hej 2747 Hej 2748 Hej 2749 Hej 2750 Hej 2751 Hej 2752 Hej 2753 Hej 2754 Hej 2755 Hej 2756 Hej 2757 Hej 2758 Hej 2759 Hej 2760 Hej 2761 Hej 2762 Hej 2763 Hej 2764 Hej 2765 Hej 2766 Hej 2767 Hej 2768 Hej 2769 Hej 2770 Hej 2771 Hej 2772 Hej 2773 Hej 2774 Hej 2775 Hej 2776 Hej 2777 Hej 2778 Hej 2779 Hej 2780 Hej 2781 Hej 2782 Hej 2783 Hej 2784 Hej 2785 Hej 2786 Hej 2787 Hej 2788 Hej 2789 Hej 2790 Hej 2791 Hej 2792 Hej 2793 Hej 2794 Hej 2795 Hej 2796 Hej 2797 Hej 2798 Hej 2799 Hej 2800 Hej 2801 Hej 2802 Hej 2803 Hej 2804 Hej 2805 Hej 2806 Hej 2807 Hej 2808 Hej 2809 Hej 2810 Hej 2811 Hej 2812 Hej 2813 Hej 2814 Hej 2815 Hej 2816 Hej 2817 Hej 2818 Hej 2819 Hej 2820 Hej 2821 Hej 2822 Hej 2823 Hej 2824 Hej 2825 Hej 2826 Hej 2827 Hej 2828 Hej 2829 Hej 2830 Hej 2831 Hej 2832 Hej 2833 Hej 2834 Hej 2835 Hej 2836 Hej 2837 Hej 2838 Hej 2839 Hej 2840 Hej 2841 Hej 2842 Hej 2843 Hej 2844 Hej 2845 Hej 2846 Hej 2847 Hej 2848 Hej 2849 Hej 2850 Hej 2851 Hej 2852 Hej 2853 Hej 2854 Hej 2855 Hej 2856 Hej 2857 Hej 2858 Hej 2859 Hej 2860 Hej 2861 Hej 2862 Hej 2863 Hej 2864 Hej 2865 Hej 2866 Hej 2867 Hej 2868 Hej 2869 Hej 2870 Hej 2871 Hej 2872 Hej 2873 Hej 2874 Hej 2875 Hej 2876 Hej 2877 Hej 2878 Hej 2879 Hej 2880 Hej 2881 Hej 2882 Hej 2883 Hej 2884 Hej 2885 Hej 2886 Hej 2887 Hej 2888 Hej 2889 Hej 2890 Hej 2891 Hej 2892 Hej 2893 Hej 2894 Hej 2895 Hej 2896 Hej 2897 Hej 2898 Hej 2899 Hej 2900 Hej 2901 Hej 2902 Hej 2903 Hej 2904 Hej 2905 Hej 2906 Hej 2907 Hej 2908 Hej 2909 Hej 2910 Hej 2911 Hej 2912 Hej 2913 Hej 2914 Hej 2915 Hej 2916 Hej 2917 Hej 2918 Hej 2919 Hej 2920 Hej 2921 Hej 2922 Hej 2923 Hej 2924 Hej 2925 Hej 2926 Hej 2927 Hej 2928 Hej 2929 Hej 2930 Hej 2931 Hej 2932 Hej 2933 Hej 2934 Hej 2935 Hej 2936 Hej 2937 Hej 2938 Hej 2939 Hej 2940 Hej 2941 Hej 2942 Hej 2943 Hej 2944 Hej 2945 Hej 2946 Hej 2947 Hej 2948 Hej 2949 Hej 2950 Hej 2951 Hej 2952 Hej 2953 Hej 2954 Hej 2955 Hej 2956 Hej 2957 Hej 2958 Hej 2959 Hej 2960 Hej 2961 Hej 2962 Hej 2963 Hej 2964 Hej 2965 Hej 2966 Hej 2967 Hej 2968 Hej 2969 Hej 2970 Hej 2971 Hej 2972 Hej 2973 Hej 2974 Hej 2975 Hej 2976 Hej 2977 Hej 2978 Hej 2979 Hej 2980
--------------------------------------------------------------------------- RecursionError Traceback (most recent call last) Cell In[3], line 8 5 print(f"Hej {heltal}") 6 skriv_ut_hej(heltal + 1) ----> 8 skriv_ut_hej(11) Cell In[3], line 6, in skriv_ut_hej(heltal) 4 else: 5 print(f"Hej {heltal}") ----> 6 skriv_ut_hej(heltal + 1) Cell In[3], line 6, in skriv_ut_hej(heltal) 4 else: 5 print(f"Hej {heltal}") ----> 6 skriv_ut_hej(heltal + 1) [... skipping similar frames: skriv_ut_hej at line 6 (2967 times)] Cell In[3], line 6, in skriv_ut_hej(heltal) 4 else: 5 print(f"Hej {heltal}") ----> 6 skriv_ut_hej(heltal + 1) Cell In[3], line 5, in skriv_ut_hej(heltal) 3 print("Klar!") 4 else: ----> 5 print(f"Hej {heltal}") 6 skriv_ut_hej(heltal + 1) File ~\AppData\Local\anaconda3\Lib\site-packages\ipykernel\iostream.py:635, in OutStream.write(self, string) 633 raise ValueError(msg) 634 else: --> 635 is_child = not self._is_master_process() 636 # only touch the buffer in the IO thread to avoid races 637 with self._buffer_lock: File ~\AppData\Local\anaconda3\Lib\site-packages\ipykernel\iostream.py:506, in OutStream._is_master_process(self) 505 def _is_master_process(self): --> 506 return os.getpid() == self._master_pid RecursionError: maximum recursion depth exceeded while calling a Python object
För att lösa ett problem rekursivt, behöver vi formulera eller dela upp det på ett sådant sätt så att delarna är mindre varianter av det större problemet.
Om vi har problemet summera talen 1
, 2
, 75
, 6
och 7
. Att uttrycka det som 1 + 2 + 75 + 6 + 7
är att försöka lösa allt på en gång.
1
+ summan av de resterande talen; 2, 75, 6, 7
2
+ summan av de resterande talen; 75, 6, 7
numbers = [1, 2, 75, 6, 7]
def sum_list_rec(values):
print(values)
return values[0] + sum_list_rec(values[1:])
result = sum_list_rec(numbers)
print(result)
[1, 2, 75, 6, 7] [2, 75, 6, 7] [75, 6, 7] [6, 7] [7] []
--------------------------------------------------------------------------- IndexError Traceback (most recent call last) Cell In[5], line 7 4 print(values) 5 return values[0] + sum_list_rec(values[1:]) ----> 7 result = sum_list_rec(numbers) 8 print(result) Cell In[5], line 5, in sum_list_rec(values) 3 def sum_list_rec(values): 4 print(values) ----> 5 return values[0] + sum_list_rec(values[1:]) Cell In[5], line 5, in sum_list_rec(values) 3 def sum_list_rec(values): 4 print(values) ----> 5 return values[0] + sum_list_rec(values[1:]) [... skipping similar frames: sum_list_rec at line 5 (3 times)] Cell In[5], line 5, in sum_list_rec(values) 3 def sum_list_rec(values): 4 print(values) ----> 5 return values[0] + sum_list_rec(values[1:]) IndexError: list index out of range
values == []
¶numbers = [1, 2, 75, 6, 7]
def sum_list_rec(values):
return values[0] + sum_list_rec(values[1:])
result = sum_list_rec(numbers)
print(result)
numbers = [1, 2, 75, 6, 7]
def sum_list_rec(values):
# summan av värdena i en tom lista är 0
if values == []:
return 0
# summan av värdena i en icke-tom lista är första värdet + summan av
# resten av värdena i listan
print(f"{values[0]} + sum_list_rec({values[1:]})")
return values[0] + sum_list_rec(values[1:])
result = sum_list_rec(numbers)
print(result)
1 + sum_list_rec([2, 75, 6, 7]) 2 + sum_list_rec([75, 6, 7]) 75 + sum_list_rec([6, 7]) 6 + sum_list_rec([7]) 7 + sum_list_rec([]) 91
def sum_rec(n):
return n + sum_rec(n-1)
print(sum_rec(3))
--------------------------------------------------------------------------- RecursionError Traceback (most recent call last) Cell In[9], line 1 ----> 1 print(sum_rec(3)) Cell In[8], line 2, in sum_rec(n) 1 def sum_rec(n): ----> 2 return n + sum_rec(n-1) Cell In[8], line 2, in sum_rec(n) 1 def sum_rec(n): ----> 2 return n + sum_rec(n-1) [... skipping similar frames: sum_rec at line 2 (2971 times)] Cell In[8], line 2, in sum_rec(n) 1 def sum_rec(n): ----> 2 return n + sum_rec(n-1) RecursionError: maximum recursion depth exceeded
def sum_rec(n):
if n == 0:
return 0
return n + sum_rec(n-1)
def sum_rec(n):
if n == 0:
return 0
return n + sum_rec(n-1)
print(sum_rec(100))
5050
return
-satser returnerar värde av samma datatypnumbers = [1, 2, 75, 6, 7, 75, 6, 7, 75, 6, 7]
def sum_list_rec(values):
# summan av värdena i en tom lista är 0
if not values:
return 0
# summan av värdena i en icke-tom lista är första värdet + summan av
# resten av värdena i listan
return values[0] + sum_list_rec(values[1:])
result = sum_list_rec(numbers)
print(result)
numbers = [1, 2, 75, 6, 7, 75, 6, 7, 75, 6, 7]
def look_for_value_rec(value, values):
print(f"Looking for {value} in {values}.")
# Inget värde kan finnas i en tom lista
if values == []:
return False
# om första värdet är det värde vi letar efter kan vi sluta leta
if values[0] == value:
return True
# om inte första värdet var det vi letade efter så returnera
# resultatet av att leta efter värdet i resten av listan
return look_for_value_rec(value, values[1:])
#print(f"{look_for_value_rec(314, numbers)=}")
print(f"{look_for_value_rec(7, numbers)=}")
Looking for 7 in [1, 2, 75, 6, 7, 75, 6, 7, 75, 6, 7]. Looking for 7 in [2, 75, 6, 7, 75, 6, 7, 75, 6, 7]. Looking for 7 in [75, 6, 7, 75, 6, 7, 75, 6, 7]. Looking for 7 in [6, 7, 75, 6, 7, 75, 6, 7]. Looking for 7 in [7, 75, 6, 7, 75, 6, 7]. look_for_value_rec(7, numbers)=True
mixed_list = ["ett", 2, "sjuttiofem", 6, 7, 75, 6, "sju"]
def keep_strings_rec(values):
# om listan är tom så resultatet en tom lista
if values == []:
return []
# om första värdet i listan är en sträng så är resultatet
# en lista med den strängen + alla strängar i resten av values
elif type(values[0]) == str:
return [values[0]] + keep_strings_rec(values[1:])
# om första värdet i listan inte var en sträng så är resultatet
# alla strängar i resten av listan
else:
return keep_strings_rec(values[1:])
print(keep_strings_rec(mixed_list))
['ett', 'sjuttiofem', 'sju']
def keep_strings_good(values):
if not values:
return []
elif type(values[0]) == str:
return [values[0]] + keep_strings_good(values[1:])
else:
return keep_strings_good(values[1:])
answer = []
def keep_strings_bad(values):
if len(values) > 0:
if type(values[0]) == str:
answer.append(values[0])
keep_strings_bad(values[1:])
return answer
# men det funkar ju eller?
print(keep_strings_good(["ett", 2, "sjuttiofem", 6, 7]))
print(keep_strings_bad(["ett", 2, "sjuttiofem", 6, 7]))
['ett', 'sjuttiofem'] ['ett', 'sjuttiofem']
print("Två anrop till keep_strings_good()")
print(keep_strings_good(["ett", 2, "sjuttiofem", 6, 7]))
print(keep_strings_good(["ett", 2, "sjuttiofem", 6, 7]))
print("\nTvå anrop till keep_strings_bad()")
print(keep_strings_bad(["ett", 2, "sjuttiofem", 6, 7]))
print(keep_strings_bad(["ett", 2, "sjuttiofem", 6, 7]))
Två anrop till keep_strings_good() ['ett', 'sjuttiofem'] ['ett', 'sjuttiofem'] Två anrop till keep_strings_bad() ['ett', 'sjuttiofem', 'ett', 'sjuttiofem'] ['ett', 'sjuttiofem', 'ett', 'sjuttiofem', 'ett', 'sjuttiofem']
answer
i funktionen?¶def keep_strings_bad(values):
answer = []
if len(values) > 0:
if type(values[0]) == str:
answer.append(values[0])
answer = answer + keep_strings_bad(values[1:])
return answer
print(keep_strings_bad(["ett", 2, "sjuttiofem", 6, 7]))
['ett', 'sjuttiofem']
[ 1, 2, 3]
sum_rec([ 1, 2, 3])
def sum_rec(values):
if not values:
return 0
else:
return values[0] + sum_rec(values[1:])
[ 1, 2, 3]
sum_rec
anropas med resten av listan som argument:sum_rec([ 2, 3])
def sum_rec(values):
if not values:
return 0
else:
return values[0] + sum_rec(values[1:])
[ 2, 3]
def sum_rec(values):
if not values:
return 0
else:
return values[0] + sum_rec(values[1:])
[ 2, 3]
sum_rec
anropas med resten av listan som argument:sum_rec([ 3])
def sum_rec(values):
if not values:
return 0
else:
return values[0] + sum_rec(values[1:])
[ 3]
def sum_rec(values):
if not values:
return 0
else:
return values[0] + sum_rec(values[1:])
[ 3]
sum_rec
anropas med resten av listan som argument:sum_rec([ ])
def sum_rec(values):
if not values:
return 0
else:
return values[0] + sum_rec(values[1:])
[ ]
def sum_rec(values):
if not values:
return 0
else:
return values[0] + sum_rec(values[1:])
[ 3]
def sum_rec(values):
if not values:
return 0
else:
return values[0] + sum_rec(values[1:])
[ 3]
def sum_rec(values):
if not values:
return 0
else:
return values[0] + sum_rec(values[1:])
[ 2, 3]
def sum_rec(values):
if not values:
return 0
else:
return values[0] + sum_rec(values[1:])
[ 2, 3]
def sum_rec(values):
if not values:
return 0
else:
return values[0] + sum_rec(values[1:])
[ 2, 3]
def sum_rec(values):
if not values:
return 0
else:
return values[0] + sum_rec(values[1:)
[ 1, 2, 3]
def sum_rec(values):
if not values:
return 0
else:
return values[0] + sum_rec(values[1:])
[ 1, 2, 3]
def sum_rec(values):
if not values:
return 0
else:
return values[0] + sum_rec(values[1:])
[ 1, 2, 3]
def sum_rec(values):
if not values:
return 0
else:
return values[0] + sum_rec(values[1:])
[1, [2, 3], [ [4, 5], 6 ] ]
def sum_rec_nest(values):
# om vi inte har några värden är summan 0
if not values:
return 0
# om noden inte är ett värde, räkna ut delträdets värde och addera det till
# resten av värdena
elif type(values[0]) == list:
return sum_rec_nest(values[0]) + sum_rec_nest(values[1:])
# noden är ett löv, addera dess värde till resten av värdena i trädet
else:
return values[0] + sum_rec_nest(values[1:])
sum_rec_nest([1, 2, 3])
sum_rec_nest([1, [2, 3], [[4, 5], 6]])
sum_rec_nest([1, [2, 3], [[4, 5, [6, 7, [8]]], 9]])
[1, [2, 3], [ [4, 5], 6 ] ]
sum_rec_nest
anropas på resten av listan:sum_rec_nest([ [2, 3], [ [4, 5], 6 ] ])
[ [2, 3], [ [4, 5], 6 ] ]
[ [2, 3], [ [4, 5], 6 ] ]
sum_rec_nest
anropas på första noden:sum_rec_nest([2, 3])
[2, 3]
[ [2, 3] ]
[ [2, 3] ]
[ [2, 3], [ [4, 5], 6 ] ]
sum_rec_nest
anropas på resten av listan:sum_rec_nest([ [ [4, 5], 6 ] ])
[ [ [4, 5], 6 ] ]
[ [ [4, 5], 6 ] ]
sum_rec_nest
anropas på första noden:sum_rec_nest([ [4, 5], 6 ])
[ [4, 5], 6 ]
[ [4, 5], 6 ]
Problem: Vad är summan av alla löv?
Noden är ett delträd: Beräkna summan av delträdet + summan av resten
sum_rec_nest
anropas på första noden:sum_rec_nest([4, 5])
[4, 5]
[4, 5]
[ [4, 5], 6 ]
Problem: Vad är summan av alla löv?
Summan av första noden är 9: Beräkna 9 + summan av resten
sum_rec_nest
anropas på resten av listan:sum_rec_nest([ 6 ])
→ 6[ [4, 5], 6 ]
[ [ [4, 5], 6 ] ]
[ [2, 3], [ [4, 5], 6 ] ]
[ [2, 3], [ [4, 5], 6 ] ]
[1, [2, 3], [ [4, 5], 6 ] ]
[1, [2, 3], [ [4, 5], 6 ] ]
def look_for_value_rec_all(value, values):
# Inget värde kan finnas i en tom lista
if not values:
return False
# om första värdet inte är en lista, kolla om det är det värde
# vi letar efter, returnera i så fall True
elif values[0] == value:
return True
# om första värdet är en lista, returnera resultatet av att
# leta i både den listan och resten av values
elif type(values[0]) == list:
return (look_for_value_rec_all(value, values[0]) or
look_for_value_rec_all(value, values[1:]))
# om inte första värdet varken var en lista eller det vi letade efter
# returnera resultatet av att leta efter värdet i resten av listan
else:
return look_for_value_rec_all(value, values[1:])
numbers1 = [[1, 2, 75, 6, 7], [75, 6, 7], [75, 6, 7],
[1, 2, 75, 6, 7], [75, 6, 7], [73]]
numbers2 = [[1, 2], 75, 6, 7, [75, 6, 7], 75, 6, 7, [1, 2, 75, 6, 7],
75, 6, 7, 73]
numbers3 = [[1, 2], [75, [6, 7]], [75, [6, 7]], [75, [6, 7]],
[1], 2, [75, [6, [7, [75], 6], 7]], 73, []]
look_for_value_rec_all(7, numbers1)
look_for_value_rec_all(73, numbers1)
look_for_value_rec_all([73], numbers1)
look_for_value_rec_all([73], numbers2)
def keep_strings_rec_all(values):
# om listan är tom så resultatet en tom lista
if not values:
return []
# om första värdet i listan är en sträng så är resultatet
# en lista med den strängen + alla strängar i resten av values
elif type(values[0]) == str:
return [values[0]] + keep_strings_rec_all(values[1:])
# om första värdet är en lista är resultatet en lista med listan
# utan några andra datatyper än strängar + bearbetningen av resten
# av listan
elif type(values[0]) == list:
return [keep_strings_rec_all(values[0])] + \
keep_strings_rec_all(values[1:])
# om första värdet i listan inte var en sträng så är resultatet
# alla strängar i resten av listan
else:
return keep_strings_rec_all(values[1:])
print(keep_strings_rec_all(["ett", [2, "sjuttiofem", 6], 7, [[75], [6, ["sju"]]]]))
map1 = {"a": ["b", "c"],
"b": [],
"c": ["d"],
"d": ["a"],
"e": ["b"]}
def get_path(s_node, e_node, a_map, visited):
"""Returnera en lista med vägen från s_node till e_node om sådan finns."""
# är e_node direkt tillgänglig?
if e_node in a_map[s_node]:
return visited + [s_node, e_node]
# kolla om vi kan ta oss till e_node från någon av grannarna till s_node
return get_path_hlp(a_map[s_node], e_node, a_map, visited + [s_node])
def get_path_hlp(s_nodes, e_node, a_map, visited):
"""Returnera den första vägen från en nod i s_nodes till e_node om sådan finns."""
# om s_nodes är tom så kan vi inte ta oss till e_node
if not s_nodes:
return []
# om vi inte redan besökt s_nodes[0]
elif s_nodes[0] not in visited:
# kolla om vi kan ta oss till e_node därifrån eller någon av de övriga
# nodern i s_nodes
path = get_path(s_nodes[0], e_node, a_map, visited)
if path:
return path
else:
return get_path_hlp(s_nodes[1:], e_node, a_map, visited)
# om vi redan besökt s_nodes[0]
else:
# kolla om vi kan ta oss till e_node från någon av de övriga noderna
# i s_nodes
return get_path_hlp(s_nodes[2:], e_node, a_map, visited)
print(get_path('c', 'b', map1, []))
Ibland är den bästa lösningen att kombinera rekursion med vanliga loop-konstruktioner.
def get_path_with_for(s_node, e_node, a_map, visited):
"""Returnera en lista med vägen från s_node till e_node om sådan finns."""
# är e_node direkt tillgänglig?
if e_node in a_map[s_node]:
return visited + [s_node, e_node]
# kolla om vi kan ta oss till e_node från någon av grannarna till s_node
for next_node in a_map[s_node]:
if next_node not in visited:
path = get_path_with_for(next_node, e_node, a_map, visited + [s_node])
if path:
return path
# om vi kommer hit kunde vi inte hitta någon väg
return []
print(get_path_with_for('c', 'b', map1, []))
map2 = {"a": ["d"],
"b": ["e", "g"],
"c": ["e", "h"],
"d": ["g"],
"e": ["d"],
"f": ["g", "h"],
"g": [],
"h": ["e", "i"],
"i": ["f"]}
print(get_path_with_for('h', 'g', map2, []))