Patronen printen – voorspel de uitvoer¶
Informatica-wetenschappen · I. De Schrijver - gemaakt met behulp van AI Claude
Opdracht: voorspel bij elke oefening de uitvoer zonder de code uit te voeren, net zoals op de toets. Noteer je antwoord in het vak Jouw voorspelling (dubbelklik om te typen) of op papier. Pas daarna voer je de codecel uit (Shift + Enter) om te controleren.
De oefeningen worden steeds moeilijker: van ⭐ tot ⭐⭐⭐⭐⭐, met op het einde een paar bonusoefeningen.
Spiekbriefje
| code | betekenis |
|---|---|
range(1, 6) |
1, 2, 3, 4, 5 (de 6 doet niet mee) |
range(3) |
0, 1, 2 (start bij 0!) |
range(1, 8, 2) |
1, 3, 5, 7 (stappen van 2) |
range(5, 0, -1) |
5, 4, 3, 2, 1 |
"ab" * 3 |
ababab |
print(x, end="") |
print x en blijf op dezelfde lijn |
print() |
ga naar een nieuwe lijn |
i % 2 |
rest bij deling door 2: 0 (even) of 1 (oneven) |
j % 3 |
rest bij deling door 3: 0, 1 of 2 |
💡 Tip: maak bij een lus in een lus een tabelletje met de waarden van i en j. Noteer een spatie op papier als ·, dan vergeet je ze niet.
De patronen zijn gebaseerd op de "number pattern programs" van codeforwin.org (daar in C), herschreven in Python.
Oefening 1 ⭐¶
Wat is de uitvoer?
for i in range(3):
print("1" * 6)
111111 111111 111111
Jouw voorspelling:
Oefening 2 ⭐¶
Wat is de uitvoer?
for i in range(2, 6):
print(str(i) * 4)
2222 3333 4444 5555
Jouw voorspelling:
Oefening 3 ⭐¶
Wat is de uitvoer?
for i in range(1, 7):
print(str(i) * i)
1 22 333 4444 55555 666666
Jouw voorspelling:
Oefening 4 ⭐¶
Wat is de uitvoer?
for i in range(4, 0, -1):
print(str(i) * i)
4444 333 22 1
Jouw voorspelling:
Oefening 5 ⭐¶
Wat is de uitvoer?
n = 7
for i in range(1, n + 1, 2):
print(str(i) * (n - i + 1))
1111111 33333 555 7
Jouw voorspelling:
Niveau 2 – een lus in een lus¶
Een binnenste lus met print(..., end="") en daarna een lege print() voor een nieuwe lijn.
Oefening 6 ⭐⭐¶
Wat is de uitvoer?
for i in range(3):
for j in range(1, 8):
print(j, end="")
print()
1234567 1234567 1234567
Jouw voorspelling:
Oefening 7 ⭐⭐¶
Wat is de uitvoer?
for i in range(1, 7):
for j in range(1, i + 1):
print(j, end="")
print()
1 12 123 1234 12345 123456
Jouw voorspelling:
Oefening 8 ⭐⭐¶
Wat is de uitvoer?
for i in range(4, 0, -1):
for j in range(1, i + 1):
print(j, end="")
print()
1234 123 12 1
Jouw voorspelling:
Oefening 9 ⭐⭐¶
Wat is de uitvoer?
for i in range(2, 7):
for j in range(i, 0, -1):
print(j, end="")
print()
21 321 4321 54321 654321
Jouw voorspelling:
Oefening 10 ⭐⭐¶
Wat is de uitvoer?
for i in range(6):
for j in range(4):
print(i % 2, end="")
print()
0000 1111 0000 1111 0000 1111
Jouw voorspelling:
Oefening 11 ⭐⭐¶
Wat is de uitvoer?
for i in range(3):
for j in range(9):
print(j % 3, end="")
print()
012012012 012012012 012012012
Jouw voorspelling:
Niveau 3 – rekenen met i en j¶
Wat er geprint wordt, hangt af van het rijnummer i én het kolomnummer j.
Oefening 12 ⭐⭐⭐¶
Wat is de uitvoer?
for i in range(1, 5):
for j in range(1, 7):
print(i + j - 1, end="")
print()
123456 234567 345678 456789
Jouw voorspelling:
Oefening 13 ⭐⭐⭐¶
Wat is de uitvoer?
for i in range(1, 5):
for j in range(i, 2 * i):
print(j, end="")
print()
1 23 345 4567
Jouw voorspelling:
Oefening 14 ⭐⭐⭐¶
Wat is de uitvoer?
n = 6
for i in range(1, n + 1):
for j in range(n - i + 1, n + 1):
print(j, end="")
print()
6 56 456 3456 23456 123456
Jouw voorspelling:
Oefening 15 ⭐⭐⭐¶
Wat is de uitvoer?
for i in range(1, 4):
for j in range(2 * i - 1, 8, 2):
print(j, end="")
print()
1357 357 57
Jouw voorspelling:
Oefening 16 ⭐⭐⭐¶
Wat is de uitvoer?
for i in range(1, 8):
for j in range(1, i + 1):
print(j % 2, end="")
print()
1 10 101 1010 10101 101010 1010101
Jouw voorspelling:
Oefening 17 ⭐⭐⭐¶
Wat is de uitvoer?
for i in range(4):
for j in range(7):
print((i + j + 1) % 2, end="")
print()
1010101 0101010 1010101 0101010
Jouw voorspelling:
Oefening 18 ⭐⭐⭐⭐¶
Wat is de uitvoer?
rijen = 4
kolommen = 7
for i in range(1, rijen + 1):
for j in range(1, kolommen + 1):
if i == 1 or i == rijen or j == 1 or j == kolommen:
print(1, end="")
else:
print(0, end="")
print()
1111111 1000001 1000001 1111111
Jouw voorspelling:
Oefening 19 ⭐⭐⭐⭐¶
Wat is de uitvoer?
for i in range(1, 4):
for j in range(1, 6):
if i == 2 and j == 3:
print(0, end="")
else:
print(1, end="")
print()
11111 11011 11111
Jouw voorspelling:
Oefening 20 ⭐⭐⭐⭐¶
Wat is de uitvoer?
n = 7
for i in range(1, n + 1):
for j in range(1, n + 1):
if i == j or i + j == n + 1:
print(1, end="")
else:
print(0, end="")
print()
1000001 0100010 0010100 0001000 0010100 0100010 1000001
Jouw voorspelling:
Oefening 21 ⭐⭐⭐⭐¶
Wat is de uitvoer?
for i in range(1, 4):
for j in range(1, 7):
if i + j - 1 <= 4:
print(i + j - 1, end="")
else:
print(4, end="")
print()
123444 234444 344444
Jouw voorspelling:
Oefening 22 ⭐⭐⭐⭐¶
Wat is de uitvoer?
n = 4
for i in range(1, n + 1):
for j in range(1, n + 1):
if j < i:
print(n + 1 - j, end="")
else:
print(n + 1 - i, end="")
print()
4444 4333 4322 4321
Jouw voorspelling:
Niveau 5 – spaties, piramides en tellers¶
Let op de spaties vooraan en op variabelen die blijven doortellen.
Oefening 23 ⭐⭐⭐⭐⭐¶
Wat is de uitvoer?
n = 4
getal = 2
for i in range(1, n + 1):
for j in range(i):
print(getal, end=" ")
getal += 2
print()
2 4 6 8 10 12 14 16 18 20
Jouw voorspelling:
Oefening 24 ⭐⭐⭐⭐⭐¶
Wat is de uitvoer?
n = 5
for i in range(1, n + 1):
for j in range(1, i + 1):
print(j, end="")
print()
for i in range(n - 1, 0, -1):
for j in range(1, i + 1):
print(j, end="")
print()
1 12 123 1234 12345 1234 123 12 1
Jouw voorspelling:
Oefening 25 ⭐⭐⭐⭐⭐¶
Wat is de uitvoer?
n = 3
for i in range(1, 7):
for j in range(1, n + 1):
if i % 2 == 1:
print(j, end="")
else:
print(n + 1 - j, end="")
print()
123 321 123 321 123 321
Jouw voorspelling:
Oefening 26 ⭐⭐⭐⭐⭐¶
Wat is de uitvoer?
n = 4
for i in range(1, n + 1):
print(" " * (n - i), end="")
for j in range(1, 2 * i):
print(j, end="")
print()
1 123 12345 1234567
Jouw voorspelling:
Oefening 27 ⭐⭐⭐⭐⭐¶
Wat is de uitvoer?
n = 6
for i in range(1, n + 1):
print(" " * (n - i), end="")
for j in range(1, i + 1):
print(j, end="")
for j in range(i - 1, 0, -1):
print(j, end="")
print()
1
121
12321
1234321
123454321
12345654321
Jouw voorspelling:
Oefening 28 🧠¶
Wat is de uitvoer?
n = 6
for i in range(1, n + 1):
for j in range(1, n + 1):
if j < i:
print(i - j + 1, end="")
else:
print(j - i + 1, end="")
print()
123456 212345 321234 432123 543212 654321
Jouw voorspelling:
Oefening 29 🧠¶
Wat is de uitvoer?
getal = 1
lengte = 1
for rij in range(5):
for k in range(lengte):
print(getal, end="")
getal += 1
if getal == 10:
getal = 1
print()
lengte = lengte * 2
1 23 4567 89123456 7891234567891234
Jouw voorspelling:
Oefening 30 🧠¶
Wat is de uitvoer?
n = 4
for i in range(1, n + 1):
print(" " * (n - i), end="")
for j in range(1, i + 1):
print(j, end="")
for j in range(i - 1, 0, -1):
print(j, end="")
print()
for i in range(n - 1, 0, -1):
print(" " * (n - i), end="")
for j in range(1, i + 1):
print(j, end="")
for j in range(i - 1, 0, -1):
print(j, end="")
print()
1 121 12321 1234321 12321 121 1
Jouw voorspelling: