commit dcd905737e8ea88e0df1ded26e4fcedc2332658a Author: Jack-Benny Persson Date: Sat Feb 3 16:32:45 2024 +0100 Börjat lägga till kodexempel diff --git a/README.md b/README.md new file mode 100644 index 0000000..02f7edc --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# Grunderna i programmering, tredje utgåvan +Alla kodexempel från boken *Grunderna i programmering*, tredje utgåvan. + diff --git a/kapitel1/testfil.py b/kapitel1/testfil.py new file mode 100644 index 0000000..7839211 --- /dev/null +++ b/kapitel1/testfil.py @@ -0,0 +1,3 @@ +#!/usr/bin/env python3 + +print("Hej alla, nu ska vi programmera!") diff --git a/kapitel3/if-ex1.py b/kapitel3/if-ex1.py new file mode 100644 index 0000000..f1e0b0a --- /dev/null +++ b/kapitel3/if-ex1.py @@ -0,0 +1,5 @@ +if 1 < 3: + print ("1 är mindre än 3") +else: + print ("1 är inte mindre än 3") + diff --git a/kapitel3/rita-kvadrat.py b/kapitel3/rita-kvadrat.py new file mode 100644 index 0000000..9f6fc33 --- /dev/null +++ b/kapitel3/rita-kvadrat.py @@ -0,0 +1,6 @@ +import turtle +for x in range(0,4): + turtle.forward(100) + turtle.left(90) +turtle.done() + diff --git a/kapitel3/variabler-ex1.py b/kapitel3/variabler-ex1.py new file mode 100644 index 0000000..abdb04d --- /dev/null +++ b/kapitel3/variabler-ex1.py @@ -0,0 +1,5 @@ +tal1 = input("Tal nummer ett? ") +tal2 = input("Tal nummer två? ") +svar = (int(tal1) + int(tal2)) +print (svar) + diff --git a/kapitel5/test1.py b/kapitel5/test1.py new file mode 100644 index 0000000..784ba92 --- /dev/null +++ b/kapitel5/test1.py @@ -0,0 +1,7 @@ +print ("Hej Kalle") +print (45*2) +print (5**5) +a=5 +b=9 +print (a+b) + diff --git a/kapitel7/and-or-ex1.py b/kapitel7/and-or-ex1.py new file mode 100644 index 0000000..b7fb621 --- /dev/null +++ b/kapitel7/and-or-ex1.py @@ -0,0 +1,12 @@ +x = 10 +y = 15 + +if ((x > 5) and (y < 10)): + print("Jag kommer aldrig skrivas ut") + +if ((x > 5) or (y < 10)): + print("Däremot kommer jag att skrivas ut") + +if ((x == 10) and (y > 12)): + print("Jag kommer också att skrivas ut") + diff --git a/kapitel7/celsius-fahr-ver1.py b/kapitel7/celsius-fahr-ver1.py new file mode 100644 index 0000000..831ac67 --- /dev/null +++ b/kapitel7/celsius-fahr-ver1.py @@ -0,0 +1,4 @@ +celsius = [10, 15, 20, 25, 30] +for c in celsius: + print("%dC = %dF" %(c, (c*1.8)+32)) + diff --git a/kapitel7/celsius-fahr-ver2.py b/kapitel7/celsius-fahr-ver2.py new file mode 100644 index 0000000..63ae7dc --- /dev/null +++ b/kapitel7/celsius-fahr-ver2.py @@ -0,0 +1,3 @@ +for c in range(-20, 30, 3): + print("%dC = %dF" %(c, (c*1.8)+32)) + diff --git a/kapitel7/continue-ex1.py b/kapitel7/continue-ex1.py new file mode 100644 index 0000000..8565e54 --- /dev/null +++ b/kapitel7/continue-ex1.py @@ -0,0 +1,5 @@ +for i in [1, 2, 3, 4, 5]: + if (i == 3): + continue + print(i) + diff --git a/kapitel7/for-loop-ex1.py b/kapitel7/for-loop-ex1.py new file mode 100644 index 0000000..f5dcc62 --- /dev/null +++ b/kapitel7/for-loop-ex1.py @@ -0,0 +1,4 @@ +lista = ["Kalle", "Lisa", "Linda"] +for namn in lista: + print("Hej %s, hur är läget?" %namn) + diff --git a/kapitel7/if-ex2.py b/kapitel7/if-ex2.py new file mode 100644 index 0000000..017fd53 --- /dev/null +++ b/kapitel7/if-ex2.py @@ -0,0 +1,4 @@ +x = 15 +if (x > 10): + print(str(x) + " är större än 10") + diff --git a/kapitel7/if-ex3.py b/kapitel7/if-ex3.py new file mode 100644 index 0000000..8ae7ba2 --- /dev/null +++ b/kapitel7/if-ex3.py @@ -0,0 +1,8 @@ +x = 15 +if (x > 10): + print(str(x) + " är större än 10") +elif (x < 5): + print(str(x) + " är mindre än 5") +else: + print(str(x) + " ligger mellan 5 och 10") + diff --git a/kapitel7/if-ex4.py b/kapitel7/if-ex4.py new file mode 100644 index 0000000..c7f24cc --- /dev/null +++ b/kapitel7/if-ex4.py @@ -0,0 +1,12 @@ +x = 15 +if (x > 20): + print(str(x) + " är större än 20") +elif (x > 10): + print(str(x) + " är större än 10") +elif (x < 5): + print(str(x) + " är mindre än 5") +else: + print(str(x) + " ligger mellan, eller är, 5 \ +och/eller 10") +print("Nu är vi klara") + diff --git a/kapitel7/if-ex5.py b/kapitel7/if-ex5.py new file mode 100644 index 0000000..98c4e6f --- /dev/null +++ b/kapitel7/if-ex5.py @@ -0,0 +1,6 @@ +x = 50 +if (x > 20): + print(str(x) + " är större än 20") +if (x > 10): + print(str(x) + " är större än 10") + diff --git a/kapitel7/if-ex6.py b/kapitel7/if-ex6.py new file mode 100644 index 0000000..0499920 --- /dev/null +++ b/kapitel7/if-ex6.py @@ -0,0 +1,9 @@ +namn = "Karin" +if (namn == "Karin"): + print("Hej Karin, välkommen till systemet") + inloggad = 1 + x = 9**2 + print(x) +print("Nu är vi utanför if och denna meningen skrivs \ +alltid") + diff --git a/kapitel7/if-not-ex1.py b/kapitel7/if-not-ex1.py new file mode 100644 index 0000000..8a26c08 --- /dev/null +++ b/kapitel7/if-not-ex1.py @@ -0,0 +1,4 @@ +x = 10 +if not (x > 15): + print("Sant, eftersom 10 INTE är större än 15") + diff --git a/kapitel7/input-ex1.py b/kapitel7/input-ex1.py new file mode 100644 index 0000000..5834729 --- /dev/null +++ b/kapitel7/input-ex1.py @@ -0,0 +1,4 @@ +namn = input("Ange namn: ") +print("Hej " + namn) +print(type(namn)) + diff --git a/kapitel7/input-ex2.py b/kapitel7/input-ex2.py new file mode 100644 index 0000000..23304e9 --- /dev/null +++ b/kapitel7/input-ex2.py @@ -0,0 +1,7 @@ +x = input("Ange basen: ") +y = input("Ange exponenten: ") +x = float(x) +y = float(y) +s = x**y +print(str(x) + " upphöjt till " + str(y) + " blir " + str(s)) + diff --git a/kapitel7/input-print-ex1.py b/kapitel7/input-print-ex1.py new file mode 100644 index 0000000..e1c4cb6 --- /dev/null +++ b/kapitel7/input-print-ex1.py @@ -0,0 +1,7 @@ +x = input("Ange basen: ") +y = input("Ange exponenten: ") +x = float(x) +y = float(y) +s = x**y +print("%.1f upphöjt till %.1f blir %.1f" %(x, y, s)) + diff --git a/kapitel7/match-ex1.py b/kapitel7/match-ex1.py new file mode 100644 index 0000000..3b3819d --- /dev/null +++ b/kapitel7/match-ex1.py @@ -0,0 +1,16 @@ +namn = "Fnatte" + +match namn: + case "Joakim": + print("Rik farbror") + case "Kalle": + print("Snäll anka") + case "Knatte": + print("Har en röd mössan i Disney") + case "Fnatte": + print("Har en blå mössa i Disney") + case "Tjatte": + print("Har en grön mössa i Disney") + case "Kajsa": + print("Kalles flickvän") + diff --git a/kapitel7/match-ex2.py b/kapitel7/match-ex2.py new file mode 100644 index 0000000..f928ca9 --- /dev/null +++ b/kapitel7/match-ex2.py @@ -0,0 +1,18 @@ +namn = "Carl" + +match namn: + case "Joakim": + print("Rik farbror") + case "Kalle": + print("Snäll anka") + case "Knatte": + print("Har en röd mössan i Disney") + case "Fnatte": + print("Har en blå mössa i Disney") + case "Tjatte": + print("Har en grön mössa i Disney") + case "Kajsa": + print("Kalles flickvän") + case _: + print("Någon annan karaktär") + diff --git a/kapitel7/match-ex3.py b/kapitel7/match-ex3.py new file mode 100644 index 0000000..49fca54 --- /dev/null +++ b/kapitel7/match-ex3.py @@ -0,0 +1,14 @@ +namn = "Tjatte" + +match namn: + case "Joakim": + print("Rik farbror") + case "Kalle": + print("Snäll anka") + case "Knatte" | "Fnatte" | "Tjatte": + print("En av Knattarna. Har olikfärgade mössor") + case "Kajsa": + print("Kalles flickvän") + case _: + print("Någon annan karaktär") + diff --git a/kapitel7/medel.py b/kapitel7/medel.py new file mode 100644 index 0000000..668865b --- /dev/null +++ b/kapitel7/medel.py @@ -0,0 +1,13 @@ +antal = 0 +summa = 0 + +while True: + x = input("Ange tal: ") + if (x == "klar"): + break + x = float(x) + summa = summa + x + antal = antal + 1 + +print("Medelvärdet är %.1f" %(summa/antal)) + diff --git a/kapitel7/nastlade-loopar-ex1.py b/kapitel7/nastlade-loopar-ex1.py new file mode 100644 index 0000000..2a04e0c --- /dev/null +++ b/kapitel7/nastlade-loopar-ex1.py @@ -0,0 +1,10 @@ +a = [1, 2, 3, 4] +b = [5, 6, 7, 8] + +for i in a: + print("\n" + str(i)) + for j in b: + print(" " + str(j)) + if j == 6: + break + diff --git a/kapitel7/procent-print-ex1.py b/kapitel7/procent-print-ex1.py new file mode 100644 index 0000000..48e08f4 --- /dev/null +++ b/kapitel7/procent-print-ex1.py @@ -0,0 +1,7 @@ +a = "Hej" +b = "Kalle" +x = 5 +y = 4 +print("%s %s" %(a, b)) +print("%d+%d=%d" %(x, y, x+y)) + diff --git a/kapitel7/rikast.py b/kapitel7/rikast.py new file mode 100644 index 0000000..06ea7cf --- /dev/null +++ b/kapitel7/rikast.py @@ -0,0 +1,16 @@ +konton = {"Kalle": 300, "Joakim": 1800, "Lisa": 900} + +hogst = 0 +rikast = str() + +for i, j in konton.items(): + print(i, j) + if (hogst == 0): + hogst = j + rikast = i + if (j > hogst): + hogst = j + rikast = i + +print(rikast, "är rikast!") + diff --git a/kapitel7/test2.py b/kapitel7/test2.py new file mode 100644 index 0000000..7fe3a9f --- /dev/null +++ b/kapitel7/test2.py @@ -0,0 +1,6 @@ +# Detta är en kommentar och tolkas inte av Python +print("%s %d" %("Talet blir",\ + 50+50)) +print("En jättelång mening som inte kommer \ +få plats på en enda rad") + diff --git a/kapitel7/while-ex1.py b/kapitel7/while-ex1.py new file mode 100644 index 0000000..00cd32c --- /dev/null +++ b/kapitel7/while-ex1.py @@ -0,0 +1,5 @@ +counter = 5 +while counter > 0: + print(counter) + counter = counter - 1 + diff --git a/kapitel7/while-true-ex1.py b/kapitel7/while-true-ex1.py new file mode 100644 index 0000000..a437748 --- /dev/null +++ b/kapitel7/while-true-ex1.py @@ -0,0 +1,6 @@ +while True: + text = input("Skriv något: ") + if (text == "klar"): + break + print(text) +