Opstap¶
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