diff --git a/.gitignore b/.gitignore index f99c6f2..603a1cd 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,4 @@ *.txt *.p +__pycache__/* +*.pyc diff --git a/kapitel9/alice-ver3.py b/kapitel9/alice-ver3.py new file mode 100644 index 0000000..60363e1 --- /dev/null +++ b/kapitel9/alice-ver3.py @@ -0,0 +1,25 @@ +#!/usr/bin/env python3 + +# Denna funktion ersätter lambda +def funk(x): + return x[1] + +rakna = dict() +fil = open("alice.txt") +innehall = fil.read().replace(",", " ").replace(".", " ")\ + .replace("'", " ").lower() +ord = innehall.split() + +for o in ord: + rakna[o] = rakna.get(o, 0) + 1 + +# key=funk ersätter lambda från förra versionen +sorterad = sorted(rakna.items(), key=funk, reverse=True) + +hogsta = 0 +for i, j in sorterad: + print(i, "\t", j) + hogsta += 1 + if hogsta == 10: + break + diff --git a/kapitel9/flera-lambda.py b/kapitel9/flera-lambda.py new file mode 100644 index 0000000..b366208 --- /dev/null +++ b/kapitel9/flera-lambda.py @@ -0,0 +1,7 @@ +#!/usr/bin/env python3 + +addera = lambda x: x + 3 +multi = lambda x: addera(x * 3) + +print(multi(5)) + diff --git a/kapitel9/funktion-dok-ex1.py b/kapitel9/funktion-dok-ex1.py new file mode 100644 index 0000000..288fbf9 --- /dev/null +++ b/kapitel9/funktion-dok-ex1.py @@ -0,0 +1,12 @@ +def kvadrat(x): + """Denna funktion 'höjer upp' x med 2, + alltså får vi kvadraten på ett tal x.""" + return x**2 + +def kub(x): + """Denna funktion 'höjer upp' x med 3, + alltså får vi kuben på ett tal x.""" + return x**3 + +print(help(kub)) + diff --git a/kapitel9/funktion-ex1.py b/kapitel9/funktion-ex1.py new file mode 100644 index 0000000..01bb973 --- /dev/null +++ b/kapitel9/funktion-ex1.py @@ -0,0 +1,7 @@ +#!/usr/bin/env python3 + +def artig(namn): + print("Hej",namn + ", hur mår du idag?") + +artig("Kalle") + diff --git a/kapitel9/funktion-ex2.py b/kapitel9/funktion-ex2.py new file mode 100644 index 0000000..d7bcb1e --- /dev/null +++ b/kapitel9/funktion-ex2.py @@ -0,0 +1,7 @@ +#!/usr/bin/env python3 + +def hej(): + print("Jag kommer bara att säga hej") + +hej() + diff --git a/kapitel9/lambda-ex1.py b/kapitel9/lambda-ex1.py new file mode 100644 index 0000000..36f55ba --- /dev/null +++ b/kapitel9/lambda-ex1.py @@ -0,0 +1,2 @@ +lambda x: x[1] + diff --git a/kapitel9/lambda-funk-likheter.py b/kapitel9/lambda-funk-likheter.py new file mode 100644 index 0000000..afc15dd --- /dev/null +++ b/kapitel9/lambda-funk-likheter.py @@ -0,0 +1,10 @@ +#!/usr/bin/env python3 + +def fPlus(x): + return x + 1 + +lPlus = lambda x: x + 1 + +print(fPlus(5)) # Den vanliga funktionen +print(lPlus(10)) # Lambda-funktionen + diff --git a/kapitel9/lambda-som-funk.py b/kapitel9/lambda-som-funk.py new file mode 100644 index 0000000..b2f223e --- /dev/null +++ b/kapitel9/lambda-som-funk.py @@ -0,0 +1,3 @@ +def funk(x): + return x[1] + diff --git a/kapitel9/mina_moduler/minmatte.py b/kapitel9/mina_moduler/minmatte.py new file mode 100644 index 0000000..998354b --- /dev/null +++ b/kapitel9/mina_moduler/minmatte.py @@ -0,0 +1,12 @@ +#!/usr/bin/env python3 + +def kvadrat(x): + """Denna funktion 'höjer upp' x med 2, + alltså får vi kvadraten på ett tal x.""" + return x**2 + +def kub(x): + """Denna funktion 'höjer upp' x med 3, + alltså får vi kubiken på ett tal x.""" + return x**3 + diff --git a/kapitel9/minmatte.py b/kapitel9/minmatte.py new file mode 100644 index 0000000..998354b --- /dev/null +++ b/kapitel9/minmatte.py @@ -0,0 +1,12 @@ +#!/usr/bin/env python3 + +def kvadrat(x): + """Denna funktion 'höjer upp' x med 2, + alltså får vi kvadraten på ett tal x.""" + return x**2 + +def kub(x): + """Denna funktion 'höjer upp' x med 3, + alltså får vi kubiken på ett tal x.""" + return x**3 + diff --git a/kapitel9/omfang-ex1.py b/kapitel9/omfang-ex1.py new file mode 100644 index 0000000..dc78948 --- /dev/null +++ b/kapitel9/omfang-ex1.py @@ -0,0 +1,11 @@ +#!/usr/bin/env python3 + +var = "Lisa" + +def funk1(): + var = "Kalle" + return var + +print("Inuti funk1 är 'var':", funk1()) +print("Globalt är 'var':", var) + diff --git a/kapitel9/omfang-ex2.py b/kapitel9/omfang-ex2.py new file mode 100644 index 0000000..f5acaa2 --- /dev/null +++ b/kapitel9/omfang-ex2.py @@ -0,0 +1,13 @@ +#!/usr/bin/env python3 + +var = "Lisa" + +def funk1(): + var = "Kalle" + return var + +var = "Anna" + +print("Inuti funk1 är 'var':", funk1()) +print("Globalt är 'var':", var) + diff --git a/kapitel9/omfang-ex3.py b/kapitel9/omfang-ex3.py new file mode 100644 index 0000000..c71f7d1 --- /dev/null +++ b/kapitel9/omfang-ex3.py @@ -0,0 +1,15 @@ +#!/usr/bin/env python3 + +y = 8 + +def kvadrat(x): + print("Globalt y = ", y) + return x**2 + +def kub(z): + print("Globalt y = ", y) + return z**3 + +print(kvadrat(5)) +print(kub(5)) + diff --git a/kapitel9/omfang-ex4.py b/kapitel9/omfang-ex4.py new file mode 100644 index 0000000..efee923 --- /dev/null +++ b/kapitel9/omfang-ex4.py @@ -0,0 +1,12 @@ +#!/usr/bin/env python3 + +var = "Lisa" + +def funk1(): + global var + var = "Kalle" + return var + +print("Inifrån funk1 är 'var':", funk1()) +print("Globalt är 'var':", var) + diff --git a/kapitel9/rakna-ver1.py b/kapitel9/rakna-ver1.py new file mode 100644 index 0000000..fea6f0c --- /dev/null +++ b/kapitel9/rakna-ver1.py @@ -0,0 +1,5 @@ +#!/usr/bin/env python3 +import minmatte + +print(minmatte.kub(5)) + diff --git a/kapitel9/rakna-ver2.py b/kapitel9/rakna-ver2.py new file mode 100644 index 0000000..f00a7b3 --- /dev/null +++ b/kapitel9/rakna-ver2.py @@ -0,0 +1,6 @@ +#!/usr/bin/env python3 +from minmatte import * + +print(kub(5)) +print(kvadrat(5)) + diff --git a/kapitel9/rakna-ver3.py b/kapitel9/rakna-ver3.py new file mode 100644 index 0000000..1c2987d --- /dev/null +++ b/kapitel9/rakna-ver3.py @@ -0,0 +1,6 @@ +#!/usr/bin/env python3 +from minmatte import kub + +print(kub(5)) +print(kvadrat(5)) + diff --git a/kapitel9/rakna-ver4.py b/kapitel9/rakna-ver4.py new file mode 100644 index 0000000..8dfdf75 --- /dev/null +++ b/kapitel9/rakna-ver4.py @@ -0,0 +1,6 @@ +#!/usr/bin/env python3 +from minmatte import kub, kvadrat + +print(kub(5)) +print(kvadrat(5)) + diff --git a/kapitel9/rakna-ver5.py b/kapitel9/rakna-ver5.py new file mode 100644 index 0000000..0c159ba --- /dev/null +++ b/kapitel9/rakna-ver5.py @@ -0,0 +1,6 @@ +#!/usr/bin/env python3 +from mina_moduler.minmatte import kub, kvadrat + +print(kub(5)) +print(kvadrat(5)) + diff --git a/kapitel9/ranta-pa-ranta-ver1.py b/kapitel9/ranta-pa-ranta-ver1.py new file mode 100644 index 0000000..98a811e --- /dev/null +++ b/kapitel9/ranta-pa-ranta-ver1.py @@ -0,0 +1,15 @@ +#!/usr/bin/env python3 + +def ranta(kr, ranta, ar): + ranta = (ranta / 100) + 1 + svar = kr*ranta**ar + print(svar) + +pengar = float(input("Ange hur mycket pengar du har \ +på kontot: ")) +procentRanta = float(input("Ange ränta i procent: ")) +antalAr = float(input("Hur många år ska pengarna stå på \ +kontot? ")) + +ranta(pengar, procentRanta, antalAr) + diff --git a/kapitel9/ranta-pa-ranta-ver2.py b/kapitel9/ranta-pa-ranta-ver2.py new file mode 100644 index 0000000..bddd3c9 --- /dev/null +++ b/kapitel9/ranta-pa-ranta-ver2.py @@ -0,0 +1,15 @@ +#!/usr/bin/env python3 + +def ranta(kr, ranta, ar): + ranta = (ranta / 100) + 1 + svar = kr*ranta**ar + print(svar) + +pengar = float(input("Ange hur mycket pengar du \ +har på kontot: ")) +procentRanta = float(input("Ange ränta i procent: ")) +antalAr = float(input("Hur många år ska pengarna stå \ +på kontot? ")) + +ranta(ar = antalAr, ranta = procentRanta, kr = pengar) + diff --git a/kapitel9/ranta-pa-ranta-ver3.py b/kapitel9/ranta-pa-ranta-ver3.py new file mode 100644 index 0000000..d5f7263 --- /dev/null +++ b/kapitel9/ranta-pa-ranta-ver3.py @@ -0,0 +1,27 @@ +#!/usr/bin/env python3 + +def ranta(kr, ranta, ar): + ranta = (ranta / 100) + 1 + svar = kr*ranta**ar + return (svar) + +pengar = float(input("Ange hur mycket pengar du har \ +på kontot: ")) +procentRanta = float(input("Ange ränta i procent: ")) +antalAr = float(input("Hur många år ska pengarna stå på \ +kontot? ")) + +# Spara till variabel och använd i print +tot = ranta(ar = antalAr, ranta = procentRanta, kr = \ + pengar) +print("Jag har", tot, "kr på kontot efter", antalAr, \ + "år") + +# Samma funktion, fast med andra värden +print("Med 30000 kr med 3% ränta har du", \ + ranta(30000, 3, 8), "kr efter 8 år") + +# Använd i en ny beräkning +print("Dubbelt upp blir", (ranta(pengar, procentRanta, \ + antalAr)*2)) + diff --git a/kapitel9/ranta-pa-ranta-ver4.py b/kapitel9/ranta-pa-ranta-ver4.py new file mode 100644 index 0000000..63ec381 --- /dev/null +++ b/kapitel9/ranta-pa-ranta-ver4.py @@ -0,0 +1,9 @@ +#!/usr/bin/env python3 + +def ranta(kr, ranta=2, ar=1): + ranta = (ranta / 100) + 1 + svar = kr*ranta**ar + return (svar) + +print(ranta(55000)) +