Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
60 changes: 47 additions & 13 deletions conditionals/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,49 @@ if True:
print("Dette er alltid sant!")
```

Vi kan sjekke om ulike ting er sant. På tall kan vi sjekke om noe er større eller mindre med krokodillen (som alltid spiser det største tallet) `>`. Ofte vil vi gjøre enten en ting eller en annen, da bruker vi `if` og `else`, altså hvis-ellers.
`if` aktiverer altså koden inne i blokken om verdien etterpå er Boolean-verdien `True`. Det er med andre ord helt likt å skrive:
```python
sant = True

if sant:
print("Dette er alltid sant!")
```


Ofte vil vi gjøre enten én ting eller en annen, da bruker vi `if` og `else`, altså hvis-ellers.

```python
sulten = True

if sulten:
print("Spis mat!")
else:
print("ikke spis mat!")
```

På samme måte som vi kan plusse sammen med tall, har vi noen egne operasjoner vi kan gjøre med datatypen `Boolean`. Vi sjekke om både en ting og en annen er sant med `and`:
```python
>>> True and True
True
>>> True and False
False
```
Og vi sjekker om den ene ting eller den andre er sant med `or`:
```python
>>> True or False
True
>>> False or False
False
```

Noen operasjoner vi gjør med tall som `int` og `decimal`, gir en bool som resultat. Gjerne de som sammenligner to tall. `>` tegnet sjekker om det til venstre er større enn det til høyre (husk at krokodillemunnen vil spise det største tallet):

```python
>>> 5 > 6
False
```

Vi kan sjekke sjekke om en person er gamle nok til å ta lappen med `>=`, "større eller lik"-tegnet:

```python
if alder >= 18:
Expand All @@ -18,23 +60,15 @@ else:
print("Du er for ung for lappen.")
```

Hvis vi vil legge til støtte for moped også kan vi sjekke flere ting etter hverandre med `elif` som er kort for "else if", altså ellers hvis.
(Hvorfor ville det blitt feil å bruke `>` ?)

Hvis vi vil legge til støtte for moped også kan vi sjekke flere ting etter hverandre med `elif` som er kort for "else if", altså ellers hvis. Vi sjekker kun alternativ nummer 2 om alternativ nummer 1 ikke er sant.

```python
if alder >= 18:
print("Du kan ta lappen for bil")
print("Du kan ta lappen for bil og moped")
elif alder >= 16:
print("Du kan ta bare ta lappen for moped")
else:
print("Du kan i det minste sykle")
```

Ofte skal vi utløse en eller annen kode om flere ting stemmer samtidig, da kan vi kombinere booleans med `and`:

```python
if red and green and blue:
print("Fargen er hvit")
elif red and green:
print("Fargen er gul!")
etc.
```
7 changes: 7 additions & 0 deletions conditionals/valid_baggage.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,13 @@
"""
def gyldig_bagasje(vekt):
gyldig = True
if vekt > 32:
gyldig = False
elif vekt < 2:
gyldig = False
else:
gyldig = True

return gyldig

class BaggageValidator(unittest.TestCase):
Expand Down
5 changes: 3 additions & 2 deletions lists/fixSnake.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,9 @@

"""
def fixSnake(snake):
# TODO fiks slange
return snake

fikset_slange = [snake[2], snake[1], snake[0]]
return fikset_slange

class FixSnake(unittest.TestCase):
def test(self):
Expand Down
6 changes: 5 additions & 1 deletion loops/countingList.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,11 @@

"""
def telle_sauer(antall):
return []
sauer = []
for sau in range(1, antall + 1):
sauer.append(sau)

return sauer

class CountingList(unittest.TestCase):
def test(self):
Expand Down
14 changes: 8 additions & 6 deletions loops/sumList.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,21 +6,23 @@
Hvis listen er tom skal svaret være 0.
"""
def positive_sum(liste):
return 0
sum = 0
for tall in liste:
if tall > 0:
sum = sum + tall
return sum

class CountingList(unittest.TestCase):
def basic_test_cases(self):
def test_basic_test_cases(self):
self.assertEqual(positive_sum([1,2,3,4,5]),15)
self.assertEqual(positive_sum([1,-2,3,4,5]),13)
self.assertEqual(positive_sum([-1,2,3,4,-5]),9)

def empty_case(self):
def test_empty_case(self):
self.assertEqual(positive_sum([]),0)

def negative_case(self):
def test_negative_case(self):
self.assertEqual(positive_sum([-1,-2,-3,-4,-5]),0)



if __name__ == '__main__':
unittest.main()
2 changes: 1 addition & 1 deletion variables/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ For eksempel er noe en streng hvis vi skriver det med `"`:
"hei"
```
(Vi kaller det en streng fordi det er en "streng" av bokstaver.)

git@github.com:Anddor/python-basic.gitgit@github.com:Anddor/python-basic.git
Hvis vi skriver et heltall rett frem er det et bare et heltall, kalt en `Integer` eller `int`:
```python
1
Expand Down
12 changes: 10 additions & 2 deletions variables/baggage_calculator.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import unittest
import math


"""
Expand All @@ -11,15 +12,22 @@
Prisen er per begynte kilo rundet oppover.
"""
def bagasje_overvekt(vekt):
# SKRIV KODEN HER
pris = 0

overvekt = math.ceil(vekt - 23)
if (overvekt < 0):
return 0
pris = overvekt * 135

return pris

class BaggageCalc(unittest.TestCase):
def test_underweight(self):
self.assertEquals(bagasje_overvekt(5.5), 0)
self.assertEqual(bagasje_overvekt(5.5), 0)

def test_overweight(self):
self.assertEquals(bagasje_overvekt(30), 945)
self.assertEqual(bagasje_overvekt(30), 945)

def test_rounded(self):
self.assertEqual(bagasje_overvekt(23.5), 135)
Expand Down
3 changes: 2 additions & 1 deletion variables/cockroach.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import unittest
import math

class CockroachTask(unittest.TestCase):
"""
Expand All @@ -13,7 +14,7 @@ class CockroachTask(unittest.TestCase):
cm_i_sekundet = 0

def calculate(self, kilometer_i_timen):
self.cm_i_sekundet = 0 # TODO skriv koden her
self.cm_i_sekundet = math.floor(kilometer_i_timen * 27.77778)


def test(self):
Expand Down