Opstap

Deze pagina bevat uitvoerbare code.

Canonieke uitwerking van de opstap. Pak 6_opstap.zip uit naast het notebook; de bestanden staan dan in assets/.

Opdracht 1

Een regel uit een tekstbestand bevat de newline nog. repr maakt dat teken zichtbaar.

with open("../problems/assets/woorden.txt") as file:
    for line in file:
        print(repr(line))
'appel\n'
'peer\n'
'banaan\n'
'kiwi\n'
'mango\n'

Opdracht 2

Tel de regels.

count = 0
with open("../problems/assets/woorden.txt") as file:
    for line in file:
        count = count + 1
print(count)
assert count == 5
5

Opdracht 3

print krijgt de newline van de regel al mee; gebruik end="" om geen tweede newline toe te voegen.

with open("../problems/assets/woorden.txt") as file:
    for line in file:
        print(line, end="")
appel
peer
banaan
kiwi
mango

Opdracht 4

Zet elke regel om naar een getal en tel de getallen op.

total = 0
with open("../problems/assets/metingen.txt") as file:
    for line in file:
        total = total + int(line)
print(total)
assert total == 1393
1393

Opdracht 5

Bewaar het grootste getal dat je tot nu toe hebt gezien.

highest = 0
with open("../problems/assets/metingen.txt") as file:
    for line in file:
        measurement = int(line)
        if measurement > highest:
            highest = measurement
print(highest)
assert highest == 226
226

Opdracht 6

Schrijf tien regels en lees het bestand daarna terug.

with open("telling.txt", "w") as file:
    for number in range(1, 11):
        print(number, file=file)
with open("telling.txt") as file:
    telling = file.read()
print(telling, end="")
assert telling == "1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n"
1
2
3
4
5
6
7
8
9
10

Opdracht 7

Lees het ene bestand en schrijf geselecteerde regels naar het andere.

with open("../problems/assets/woorden.txt") as source:
    with open("lang.txt", "w") as target:
        for line in source:
            if len(line.strip()) > 4:
                print(line, end="", file=target)
with open("lang.txt") as file:
    long_words = file.read()
print(long_words, end="")
assert long_words == "appel\nbanaan\nmango\n"
appel
banaan
mango