Opstap

Deze pagina bevat uitvoerbare code.

In de volgende opdrachten ga je oefenen met conditionele statements, strings en lijsten in Python. Ook ga je oefenen met het vinden van fouten (bugs) in code.

Conditionele statements

Het lezen en begrijpen van conditionele statements in Python.

In de volgende opdrachten is het vooral de bedoeling te kunnen bepalen wat de output is van de code. Test je antwoorden door de code over te nemen in een bestand en uit te voeren, of stap er regel voor regel doorheen met Python Tutor.

Opdracht 1

Wat is de output?

x = 8

if x > 5:
    print("if statement is True")
print("staat buiten de if statement")
# controleer jouw antwoord

Opdracht 2

Wat is de output?

x = 8

if x < 5:
    print("if statement is True")
print("staat buiten de if statement")
# controleer jouw antwoord

Opdracht 3

Wat is de output?

x = 8

if x < 5:
    print("if statement is True")
else:
    print("if statement is false")
print("staat buiten de if-else statement")
# controleer jouw antwoord

Opdracht 4

Wat is de output?

x = 5

if x < 5:
    print("if statement is True")
elif x > 5:
    print("elif statement is True")
else:
    print("zowel de if en elif statements zijn false")
# controleer jouw antwoord

Opdracht 5

Wat is de output?

temp = 23.0

if temp > 35.0:
    print("Heet!")
elif temp > 20.0:
    print("Warm")
elif temp > 10.0:
    print("Koel")
else:
    print("Brrr!")
# controleer jouw antwoord

Opdracht 6

Wat is de output?

temp = 15.0

if temp > 35.0:
    print("Heet!")
else:
    if temp > 20.0:
        print("Warm")
    else:
        if temp > 10.0:
            print("Koel")
        else:
            print("Brrr!")
# controleer jouw antwoord

Opdracht 7

Wat is de output?

x = 5

if x < 5:
    x = x + 3
elif x > 5:
    x = x - 3
print(x)
# controleer jouw antwoord

Opdracht 8

Wat is de output?

x = 4

if x < 5:
    x = x + 3
elif x > 5:
    x = x - 3
else:
    x = x * 2

print(x)
# controleer jouw antwoord

Opdracht 9

Wat is de output?

naam = "Suzan"
if naam <= "E":
    print("groep 1")
elif naam <= "J":
    print("groep 2")
elif naam <= "O":
    print("groep 3")
elif naam <= "U":
    print("groep 4")
else:
    print("groep 5")
# controleer jouw antwoord

Opdracht 10

Wat is de output?

naam = "Emily"
if naam <= "E":
    print("groep 1")
elif naam <= "J":
    print("groep 2")
elif naam <= "O":
    print("groep 3")
elif naam <= "U":
    print("groep 4")
else:
    print("groep 5")
# controleer jouw antwoord

Strings en lijsten

Leerdoel: je kunt de uitvoer voorspellen van code die met strings en lijsten werkt.

Opdracht 11

Wat is de output?

a = "123"
print(2 * a)
# controleer jouw antwoord

Opdracht 12

Wat is de output?

a = "hanze"
b = "Hogeschool"
print(2 * a + b)
# controleer jouw antwoord

Opdracht 13

Wat is de output?

a = 123
b = "456"
print(a, b)
# controleer jouw antwoord

Opdracht 14

Wat is de output?

p = [3, 1, 4, 1, 5]
c = [2, 9, 9, 7, 9, 2, 4, 5, 8]

answer0 = p[0:3]
answer1 = c[5]

print(answer0 * answer1)
# controleer jouw antwoord

Opdracht 15

Wat is de output?

c = "computer"
s = "science"

answer0 = s[2:0:-1]
answer1 = c[5]

print(s[2:0:-1] + c[5] + s[2::-2] + s[0] + c[4:2:-1] + c[6:])
# controleer jouw antwoord

Opdracht 16

pi = [3, 1, 4, 1, 5, 9]

lst = ['pi', "isn't", [4,2]]
  1. Wat is len(pi)?

  2. Wat is len(lst)?

  3. Wat is len(lst[1])?

  4. Wat is pi[2:4]?

  5. Welk puntje (“slice”) pi is gelijk aan [3,1,4]? (hint, neem het aantal elementen als stop waarde)

  6. Welk puntje pi is [3,4,5]?

# controleer jouw antwoord

Opdracht 17

lst = ["pi", "isn't", [4, 2]]

string = "You need parentheses for chemistry !"
#         0   4   8   12  16  20  24  28  32
  1. Wat is lst[0]?

  2. Wat is lst[0][1]?

  3. Wat is lst[0:1]?

  4. Wat is string[9:15]?

  5. Wat is string[::5]?

  6. Welke slice van string is 'try'?

  7. Welke slice van string is 'shoe'?

# controleer jouw antwoord

Opdracht 18

pi = [3, 1, 4, 1, 5, 9]
  1. Wat is pi[0] * (pi[1] + pi[2])?

  2. Wat is pi[0] * (pi[1:2] + pi[2:3])?

  3. Hoe krijg je [3, 4, 5, 3, 4, 5, 3, 4, 5]?

# controleer jouw antwoord

Opdracht 19

True or False?

  1. [4, 2] > [42]

  2. "hoi" > "doei"

  3. "eten" > "werken"

  4. "Haard" < "Huis"

  5. "F" < "Fiets"

  6. [4, "m&m's"] < [1, "koffie"]

# controleer jouw antwoord

Debuggen

Het kunnen vinden van bugs in conditionele statements.

Opgave

Tijdens een busreis worden studenten verdeeld over verschillende bussen aan de hand van hun achternaam.

Bus

Eerste letter achternaam

1

A t/m E

2

F t/m J

3

K t/m O

4

P t/m U

5

V t/m Z

Bijvoorbeeld, een student met de achternaam “Niël” komt in bus 3 en een student met de achternaam “Hoebe” komt in bus 2

Gegeven is een variabele naam die staat voor de achternaam (zonder voorvoegsels en met hoofdletter) van een student. De opdracht is om een conditionele statement te schrijven om de juiste bus nummer af te drukken.

naam = "Hoebe"

Deze opdracht is op meerdere manieren op te lossen en hieronder staan een aantal uitwerkingen, maar er zit telkens een fout in!

Probeer bij elke uitwerking te bepalen welke fout wordt gemaakt waardoor de code niet correct is.

Uitwerking A

if naam[0] <= 'E':
    print(1)
if naam[0] <= 'J':
    print(2)
if naam[0] <= 'O':
    print(3)
if naam[0] <= 'U':
    print(4)
else
    print(5)

Uitwerking B

if naam[0] >= 'E':
    print(1)
elif naam[0] >= 'J':
    print(2)
elif naam[0] >= 'O':
    print(3)
elif naam[0] >= 'U':
    print(4)
else:
    print(5)

Uitwerking C

if naam[0] <= 'E':
    print(1)
else:
    if naam[0] <= 'J':
        print(2)
    elif naam[0] <= 'O':
        print(3)
        if naam[0] <= 'U':
            print(4)
        else:
            print(5)

Uitwerking D

if naam[0] <= 'E':
    print(1)
elif naam[0] <= 'J':
    print(2)
    elif naam[0] <= 'O':
        print(3)
    elif naam[0] <= 'U':
        print(4)
    else:
        print(5)

Uitwerking E

if naam[0] <= 'Z':
    print(5)
elif naam[0] <= 'U':
    print(4)
elif naam[0] <= 'O':
    print(3)
elif naam[0] <= 'J':
    print(2)
else:
    print(1)

Uitwerking F

if naam <= 'E':
    print(1)
elif naam <= 'J':
    print(2)
elif naam <= 'O':
    print(3)
elif naam <= 'U':
    print(4)
else:
    print(5)

Uitwerking G

if naam < 'F'
    print(1)
elif naam < 'K'
    print(2)
elif naam < 'P'
    print(3)
elif naam < 'V'
    print(4)
else:
    print(5)