Repository navigation
Expand file tree
/
Copy pathpe9_4.py
More file actions
64 lines (55 loc) · 2.34 KB
/
Copy pathpe9_4.py
File metadata and controls
64 lines (55 loc) · 2.34 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
'''
Introduction To Computing Using Python (Werkboek)
Catching Exceptions, CSV-files (Perkovic – §4.4 & §7.3)
Practice Exercise 9.4 (CSV-files met headers)
De onderstaande tabel bevat de gegevens van een aantal producten.
Stap 1: Maak (met Python) een CSV-bestand met bovenstaande gegevens
(inclusief headers).
Stap 2: Lees vervolgens het bestand met een Python programma weer in en print
1.) de naam en prijs van het duurste product.
2.) het artikelnummer en de voorraad van het artikel met de kleinste
voorraad en
3.) het totaalaantal producten in voorraad!
Uitvoer:
Het duurste artikel is Monitorstandaard en die kost 32.50 Euro
Er zijn slechts 34 exemplaren in voorraad van het product met nummer 128
In totaal hebben wij 1073 producten in ons magazijn liggen
'''
headers = ['Artikelnummer', 'Artikelcode', 'Naam', 'Voorraad', 'Prijs']
artikelen = {
('121', 'ABC123', 'Highlight pen', '231', '0.56'),
('123','PQR678', 'Nietmachine', '587', '9.99'),
('128','ZYX163', 'Bureaulamp', '34', '19.95'),
('137','MLK709', 'Monitorstandaard', '66', '32.50'),
('271','TRS665', 'Ipad hoes', '155', '19.00')
}
with open('artikelen.csv', 'w') as file:
file.truncate()
file.write(';'.join(headers))
file.write('\n')
for artikel in artikelen:
file.write(';'.join(artikel))
file.write('\n')
file.close()
with open('artikelen.csv', 'r') as file:
file.readline() # Skip headers
content = file.readlines()
artikelen = []
voorraden = []
for line in content:
nummer, code, naam, voorraad, prijs = line.rstrip().split(';')
artikelen.append((int(nummer), code, naam, int(voorraad), float(prijs)))
voorraden.append(int(voorraad))
# Duurste.
duursteArtikel = sorted(artikelen, key=lambda x: x[4])[-1]
print('Het duurste artikel is {} en die kost '
'{} Euro'.format(duursteArtikel[2], duursteArtikel[4]))
# Kleinste voorraad.
kleinsteVoorraad = sorted(artikelen, key=lambda x: x[3])[0]
print('Er zijn slechts {} exemplaren in voorraad van het product '
'met nummer {}'.format(kleinsteVoorraad[3], kleinsteVoorraad[0]))
# Totaal aantal producten.
aantal = sum(voorraden)
print('In totaal hebben wij {} producten in ons magazijn '
'liggen'.format(aantal))
file.close()