Skip to content

Commit de667ac

Browse files
authored
Add all exercises of lesson 7.
1 parent b809c7b commit de667ac

File tree

6 files changed

+163
-0
lines changed

6 files changed

+163
-0
lines changed

Lesson-07/pe7_1.py

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
'''
2+
3+
Introduction To Computing Using Python (Werkboek)
4+
5+
Control Structures & Dictionaries (Perkovic – §5.4 t/m 6.1)
6+
7+
Practice Exercise 7.1 (while-loop)
8+
Schrijf een while-loop die steeds getallen van de gebruiker vraagt tot deze
9+
0 ingeeft.
10+
11+
'''
12+
13+
getallen = []
14+
15+
vraagOmGetal = True
16+
while(vraagOmGetal):
17+
getal = int(input('Geef een getal op: '))
18+
if(getal != 0):
19+
getallen.append(getal)
20+
else:
21+
vraagOmGetal = False
22+
print('Er zijn {} getallen ingevoerd, '
23+
'de som is: {}'.format(len(getallen), sum(getallen)))

Lesson-07/pe7_2.py

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
'''
2+
3+
Introduction To Computing Using Python (Werkboek)
4+
5+
Control Structures & Dictionaries (Perkovic – §5.4 t/m 6.1)
6+
7+
Practice Exercise 7.2 (while-loop)
8+
Schrijf een nieuw programma waarin de gebruiker een woord moet invoeren. Dit
9+
woord moet uit vier letters bestaan. Is dat niet zo, dan wordt een foutmelding
10+
getoond en moet de gebruiker opnieuw een woord invoeren, net zolang totdat er
11+
een woord is ingevoerd dat uit vier letters bestaat. Dan eindigt het
12+
programma. Gebruik in ieder geval een while-loop, gecombineerd met het break-
13+
statement!
14+
15+
'''
16+
17+
while(True):
18+
woord = input('Geef een string van vier letters: ')
19+
if(len(woord) == 4):
20+
print('\nInlezen van correcte string: {} is geslaagd'.format(woord))
21+
break
22+
else:
23+
print('{} heeft {} letters'.format(woord, len(woord)))

Lesson-07/pe7_3.py

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
'''
2+
3+
Introduction To Computing Using Python (Werkboek)
4+
5+
Control Structures & Dictionaries (Perkovic – §5.4 t/m 6.1)
6+
7+
Practice Exercise 7.3 (dict)
8+
Maak een dictionary aan met cijfers voor een cursus. De studentnamen zijn de
9+
sleutels en de cijfers zijn de waarden in de dictionary. Zorg dat er minimaal
10+
8 cijfers in de dictionary staan. Schrijf vervolgens code om op basis van die
11+
dictionary alle cijfers (met naam) boven een 9,0 te printen.
12+
13+
'''
14+
15+
studenten = {
16+
'Donny van Walsem': [5, 6, 9],
17+
'Lesley Oudshoorn': [7, 8, 9],
18+
'Yannick Thomassen': [9, 8, 10]
19+
}
20+
21+
for student, cijfers in studenten.items():
22+
cijfersBovenNegen = []
23+
for cijfer in cijfers:
24+
if cijfer >= 9:
25+
cijfersBovenNegen.append(cijfer)
26+
print('{0:17} {1}'.format(student,cijfersBovenNegen))

Lesson-07/pe7_4.py

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
'''
2+
3+
Introduction To Computing Using Python (Werkboek)
4+
5+
Control Structures & Dictionaries (Perkovic – §5.4 t/m 6.1)
6+
7+
Practice Exercise 7.4 (file & dict)
8+
Een 'ticker symbool' is een unieke afkorting om aandelen van een bepaald
9+
bedrijf aan de beurs te identificeren. YHOO is bijvoorbeeld het ticker symbool
10+
van Yahoo, terwijl GOOG dat is voor Google.
11+
Gegeven is het onderstaande bestand met ticker symbols:
12+
13+
YAHOO:YHOO
14+
GOOGLE INC:GOOG
15+
Harley-Davidson:HOG
16+
Yamana Gold:AUY
17+
Sotheby's:BID
18+
inBev:BUD
19+
20+
Schrijf een functie ticker(filename). De functie leest uit de file zowel de
21+
bedrijfsnaam als het bijbehorende ticker-symbool en slaat die op in een
22+
dictionary. Dit is de return-waarde van de functie.
23+
24+
Schrijf nu ook een programma die deze functie gebruikt om als iemand een
25+
ticker-symbool ingeeft de bedrijfsnaam te printen, en andersom. Het programma
26+
stopt hierna:
27+
28+
'''
29+
30+
def ticker(filename):
31+
file = open(filename, 'r')
32+
symbolen = {}
33+
for line in file.readlines():
34+
bedrijf, symbool = line.rstrip().split(':')
35+
symbolen[bedrijf] = symbool
36+
file.close()
37+
return symbolen
38+
39+
symbolen = ticker('ticker_symbolen.txt')
40+
41+
# Geef ticker gebaseerd op bedrijf.
42+
bedrijf = input('Enter Company name: ')
43+
print('Ticker symbol: {}\n'.format(symbolen[bedrijf]))
44+
45+
# Geef bedrijf gebaseerd op ticker.
46+
ticker = input('Enter Ticker symbol: ')
47+
bedrijf = list(symbolen.keys())[list(symbolen.values()).index(ticker)]
48+
print('Company name: {}'.format(bedrijf))

Lesson-07/pe7_5.py

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
'''
2+
3+
Introduction To Computing Using Python (Werkboek)
4+
5+
Control Structures & Dictionaries (Perkovic – §5.4 t/m 6.1)
6+
7+
Practice Exercise 7.5 (dict)
8+
Schrijf een functie namen() die de gebruiker steeds opnieuw vraagt om de
9+
voornaam van een student in de klas. Als de gebruiker een lege tekst invoert,
10+
stopt het programma en moet van elke naam geprint worden hoevaak de naam
11+
in de klas voorkomt. Plaats de namen als sluetel (key) in een dict, en hou
12+
als waarde (value) bij hoe vaak ze zijn voorgekomen. Zie uitvoer op de
13+
volgende bladzijde!
14+
15+
16+
17+
'''
18+
19+
def namen():
20+
namen = {}
21+
while(True):
22+
naam = input('Volgende naam: ')
23+
if not naam:
24+
print(namen)
25+
for naam, aantal in namen.items():
26+
if(aantal == 1):
27+
print("Er is 1 student met de naam {}".format(naam))
28+
else:
29+
print("Er zijn {} studenten met "
30+
"de naam {}".format(aantal, naam))
31+
else:
32+
if naam in namen:
33+
namen[naam] += 1
34+
else:
35+
namen[naam] = 1
36+
37+
namen()

Lesson-07/ticker_symbolen.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
YAHOO:YHOO
2+
GOOGLE INC:GOOG
3+
Harley-Davidson:HOG
4+
Yamana Gold:AUY
5+
Sotheby's:BID
6+
inBev:BUD

0 commit comments

Comments
 (0)