Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 0848094

Browse files
authored
Add all exercises of lesson 5.
1 parent c9fc2ff commit 0848094

File tree

7 files changed

+153
-0
lines changed

7 files changed

+153
-0
lines changed

‎Lesson-05/hardlopers.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
Wed 6 Sep 2017, 13:09:00, Yannick
2+
Wed 6 Sep 2017, 13:09:07, Donny

‎Lesson-05/kaartnummers.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
325255, Jan Jansen
2+
334343, Erik Materus
3+
235434, Ali Ahson
4+
645345, Eva Versteeg
5+
534545, Jan de Wilde
6+
345355, Henk de Vries

‎Lesson-05/pe5_1.py

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
'''
2+
3+
Introduction To Computing Using Python (Werkboek)
4+
5+
Strings, Text Data, and File I/O (Perkovic – §4.1 t/m 4.3)
6+
7+
Practice Exercise 5.1 (formatting)
8+
Schrijf een functie convert() waar je een temperatuur in graden Celsius (als
9+
parameter van deze functie) kunt omzetten naar graden Fahrenheit. Je kunt de
10+
temperatuur in Fahrenheit berekenen met de Formule T(°F) = T(°C) ×ばつ 1.8 + 32.
11+
Dus 25 °C = 25 * 1.8 + 32 = 77 °F.
12+
13+
'''
14+
15+
def convert(celsius):
16+
fahrenheit = celsius * 1.8 + 32
17+
return fahrenheit
18+
19+
print(convert(25)) # 77.0
20+
21+
'''
22+
Schrijf nu ook een tweede functie table() waarin je met een for-loop van -30°C
23+
t/m 40°C in stappen van 10 graden de temperatuur in Fahrenheit print. Zorg
24+
middels een geformatteerde output voor dezelfde precisie en uitleining als het
25+
voorbeeld hieronder:
26+
'''
27+
28+
def table():
29+
print('{0:>3}{1:>9}'.format('F', 'C'))
30+
for i in range(-30, 50, 10):
31+
print('{0:>5}{1:>9}'.format(str(convert(i)), str(float(i))))
32+
33+
table()

‎Lesson-05/pe5_2.py

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
'''
2+
3+
Introduction To Computing Using Python (Werkboek)
4+
5+
Strings, Text Data, and File I/O (Perkovic – §4.1 t/m 4.3)
6+
7+
Practice Exercise 5.2 (files lezen)
8+
Maak met behulp van PyCharm (of Notepad) het onderstaande bestand
9+
'kaartnummers.txt', dat bestaat uit klantenkaartnummers en namen. Op iedere
10+
regel staan de gegevens van 1 kaart:
11+
12+
325255, Jan Jansen
13+
334343, Erik Materus
14+
235434, Ali Ahson
15+
645345, Eva Versteeg
16+
534545, Jan de Wilde
17+
345355, Henk de Vries
18+
19+
Schrijf een Python programma waarmee je het bestand opent, en splits elke
20+
regel op de komma en zorg dat de uitvoer (op het scherm) is zoals op de
21+
volgende pagina is weergegeven! Vergeet niet het bestand te sluiten!
22+
23+
'''
24+
25+
file = open('kaartnummers.txt', 'r')
26+
content = file.read()
27+
file.close()
28+
29+
for line in content.splitlines():
30+
kaartnummer, klant = line.split(',')
31+
print('{} heeft kaartnummer: {}'.format(klant, kaartnummer))

‎Lesson-05/pe5_3.py

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
'''
2+
3+
Introduction To Computing Using Python (Werkboek)
4+
5+
Strings, Text Data, and File I/O (Perkovic – §4.1 t/m 4.3)
6+
7+
Practice Exercise 5.3 (files lezen)
8+
Schrijf een programma dat het bestand kaartnummers.txt opnieuw opent en het
9+
aantal regels en het grootste kaartnummer in het bestand bepaalt. Print
10+
deze gegevens vervolgens uit:
11+
12+
'''
13+
14+
file = open('kaartnummers.txt', 'r')
15+
content = file.read()
16+
file.close()
17+
18+
# Aantal regels.
19+
aantalRegels = len(content.splitlines())
20+
21+
# Grootste kaartnummer in bestand.
22+
i = 0
23+
kaartnummers = []
24+
for index, line in enumerate(content.splitlines()):
25+
kaartnummer, klant = line.split(',')
26+
kaartnummers.append((kaartnummer, index + 1))
27+
grootsteKaartnummer = max(kaartnummers)[0]
28+
opRegel = max(kaartnummers)[1]
29+
30+
print('Deze file telt {} regels.\nHet grootste kaartnummer is: {} en dat staat '
31+
'op regel {}'.format(aantalRegels, grootsteKaartnummer, opRegel))
32+

‎Lesson-05/pe5_4.py

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
'''
2+
3+
Introduction To Computing Using Python (Werkboek)
4+
5+
Strings, Text Data, and File I/O (Perkovic – §4.1 t/m 4.3)
6+
7+
Practice Exercise 5.4 (files schrijven)
8+
Bij een marathonwedstrijd worden bij een controlepost ale voorbijkomende
9+
hardlopers genoteerd. De gegevens van elke hardloper worden in het bestand
10+
hardlopers.txt opgeslagen. Schrijf een programma waarmee een tekstbestand
11+
wordt aangemaakt (als het bestand nog niet bestaat) of aangevuld (gebruik de
12+
append-mode) met de gegevens van één hardloper (inlezen van toetsenbord).
13+
14+
Let op: je zult je programma in deze opdracht steeds opnieuw moeten uitvoeren
15+
voor elke nieuwe hardloper. Om dit te voorkomen zou je een while-loop kunnen
16+
gebruiker, maar die behandelen we pas volgende les. Je kunt er natuurlijk voor
17+
kiezen om daar alvast naar te kijken (niet verplicht).
18+
19+
'''
20+
from datetime import datetime
21+
22+
file = open('hardlopers.txt', 'a+')
23+
24+
hardloper = input('Naam hardloper: ')
25+
tijd = datetime.strftime(datetime.now(), '%a%e %b %G, %H:%M:%S')
26+
27+
file.write(tijd + ', ' + hardloper + '\n')
28+
file.close()

‎Lesson-05/pe5_5.py

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
'''
2+
3+
Introduction To Computing Using Python (Werkboek)
4+
5+
Strings, Text Data, and File I/O (Perkovic – §4.1 t/m 4.3)
6+
7+
Practice Exercise 5.5 (string functions)
8+
Schrijf functie gemiddelde(), die de gebruiker vraagt om een willekeurige zin
9+
in te voeren. De functie berekent vervolgens de gemiddelde lengte van de
10+
woorden in de zin en print dit uit.
11+
12+
'''
13+
14+
zin = input('Voer een willekeurige zin in: ')
15+
16+
woorden = []
17+
for woord in zin.split():
18+
woorden.append(len(woord))
19+
20+
gemiddelde = float(sum(woorden)) / len(woorden)
21+
print(gemiddelde)

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /