Lesson 1: Getting Startedcourse.cs.ru.nl/pythonVO/docs/sheets/Python sheets... · Informatica...
Transcript of Lesson 1: Getting Startedcourse.cs.ru.nl/pythonVO/docs/sheets/Python sheets... · Informatica...
![Page 1: Lesson 1: Getting Startedcourse.cs.ru.nl/pythonVO/docs/sheets/Python sheets... · Informatica Renske Smetsers. Planning komende tijd. Iteraties: FOR loop en (geneste)lijsten ... Lesson](https://reader034.fdocuments.us/reader034/viewer/2022050219/5f6533ea7f8e164dd34c2ae2/html5/thumbnails/1.jpg)
Python
Informatica
Renske Smetsers
![Page 2: Lesson 1: Getting Startedcourse.cs.ru.nl/pythonVO/docs/sheets/Python sheets... · Informatica Renske Smetsers. Planning komende tijd. Iteraties: FOR loop en (geneste)lijsten ... Lesson](https://reader034.fdocuments.us/reader034/viewer/2022050219/5f6533ea7f8e164dd34c2ae2/html5/thumbnails/2.jpg)
Planning komende tijd
![Page 3: Lesson 1: Getting Startedcourse.cs.ru.nl/pythonVO/docs/sheets/Python sheets... · Informatica Renske Smetsers. Planning komende tijd. Iteraties: FOR loop en (geneste)lijsten ... Lesson](https://reader034.fdocuments.us/reader034/viewer/2022050219/5f6533ea7f8e164dd34c2ae2/html5/thumbnails/3.jpg)
Iteraties: FOR loop en (geneste)lijsten Herhaling lijsten Herhaling for-loop
Na deze les kun je: For-loop te gebruiken om lijst te doorlopen Uitleggen dat een geneste lijst een lijst van lijsten is een geneste for loop maken en gebruiken
![Page 4: Lesson 1: Getting Startedcourse.cs.ru.nl/pythonVO/docs/sheets/Python sheets... · Informatica Renske Smetsers. Planning komende tijd. Iteraties: FOR loop en (geneste)lijsten ... Lesson](https://reader034.fdocuments.us/reader034/viewer/2022050219/5f6533ea7f8e164dd34c2ae2/html5/thumbnails/4.jpg)
Lijsten Een "list" (Engelse woord voor "lijst") is een geordende
verzameling van data elementen
Voorbeelden:namenLijst = [“Ben”, “Piet”, “Charlie”, “Dan”, “Edward”] leeftijdenLijst = [5, 14, 8, 12, 9] cijferLijst = [8.0, 5.6, 6.0, 8.1 ]
In Python mag je van alles in een lijst stoppen, ook gemengd (bv. getallen en strings) Bv. rommeltje = [3, “banana”, ‘$’, “Hello World!”]
![Page 5: Lesson 1: Getting Startedcourse.cs.ru.nl/pythonVO/docs/sheets/Python sheets... · Informatica Renske Smetsers. Planning komende tijd. Iteraties: FOR loop en (geneste)lijsten ... Lesson](https://reader034.fdocuments.us/reader034/viewer/2022050219/5f6533ea7f8e164dd34c2ae2/html5/thumbnails/5.jpg)
Index van een lijst Elk element in een lijst heeft een index (positie). Tellen begint altijd bij 0 Lijst eindigt bij index van lengte -1 hier: len(fruits)-1
Toekennenvan waardenaan een lijst:
De lijst:
Hoe een lijst in de computer
eruit ziet:
![Page 6: Lesson 1: Getting Startedcourse.cs.ru.nl/pythonVO/docs/sheets/Python sheets... · Informatica Renske Smetsers. Planning komende tijd. Iteraties: FOR loop en (geneste)lijsten ... Lesson](https://reader034.fdocuments.us/reader034/viewer/2022050219/5f6533ea7f8e164dd34c2ae2/html5/thumbnails/6.jpg)
Lijsten kun je aanpassen Waarden toekennen:
fruitlist = ["appel", "banaan"] Iets toevoegen aan lijst → lijst wordt langer
fruitlist += ["kers"] #voegt "kers" toe achteraan lijst
Iets in een lijst aanpassen#vervangt element op positie 0 (dus appel) met aardbeifruitlist [0] = [“aardbei"]
Iets uit lijst verwijderen → lijst wordt korterfruitlist.remove( "banaan" ) #verwijdert eerste voorkomen
[ “appel”, “banaan”, “kers” ]
[ “aardbei”, “banaan”, “kers” ]
[ “appel”, “banaan”]
[ “aardbei”, “kers” ]
![Page 7: Lesson 1: Getting Startedcourse.cs.ru.nl/pythonVO/docs/sheets/Python sheets... · Informatica Renske Smetsers. Planning komende tijd. Iteraties: FOR loop en (geneste)lijsten ... Lesson](https://reader034.fdocuments.us/reader034/viewer/2022050219/5f6533ea7f8e164dd34c2ae2/html5/thumbnails/7.jpg)
Standaard List functies
Bepaal de grootste getal uit de lijst:max( numlist ) # levert 243 op
Bepaal de som van getallen in de lijst:sum( numlist ) # levert 257 op
Bepaal de lengte van de lijst:len ( numlist ) # levert 4 op
Controleer of getal 999 in de lijst zit 999 in numlist # levert False op
Tel hoe vaak getal 1 voorkomtnumlist.count( 1 ) # levert 2 op
Lijst sorterennumlist.sort() # sorteert lijst: [1,1,12,243]
numlist = [12, 1, 243, 1]
![Page 8: Lesson 1: Getting Startedcourse.cs.ru.nl/pythonVO/docs/sheets/Python sheets... · Informatica Renske Smetsers. Planning komende tijd. Iteraties: FOR loop en (geneste)lijsten ... Lesson](https://reader034.fdocuments.us/reader034/viewer/2022050219/5f6533ea7f8e164dd34c2ae2/html5/thumbnails/8.jpg)
Bepaalde en onbepaalde herhaling While-loop: Onbepaalde herhaling:
Zolang … herhaal Aantal keren herhalen afhankelijk van een
voorwaarde Zorg dat while-loop eindigt! Voorkom oneindige
loop!
For-loop: Bepaalde (of tellende) herhaling: Herhaal x keer Aantal herhalingen vooraf precies bekend Voorbeeld 6 keer
Wat is handig om een lijst te doorlopen?
![Page 9: Lesson 1: Getting Startedcourse.cs.ru.nl/pythonVO/docs/sheets/Python sheets... · Informatica Renske Smetsers. Planning komende tijd. Iteraties: FOR loop en (geneste)lijsten ... Lesson](https://reader034.fdocuments.us/reader034/viewer/2022050219/5f6533ea7f8e164dd34c2ae2/html5/thumbnails/9.jpg)
Lijst doorlopen met een for loopOpdracht:Druk alle getallen in mijn lijst af: favNumbers = [ -4, 0, 11, 42 ]
Code:
favNumbers = [ -4, 0, 11, 42]
for getal in favNumbers:print( favNumbers[getal] )
![Page 10: Lesson 1: Getting Startedcourse.cs.ru.nl/pythonVO/docs/sheets/Python sheets... · Informatica Renske Smetsers. Planning komende tijd. Iteraties: FOR loop en (geneste)lijsten ... Lesson](https://reader034.fdocuments.us/reader034/viewer/2022050219/5f6533ea7f8e164dd34c2ae2/html5/thumbnails/10.jpg)
Lijst doorlopen en aanpassenStel je wilt je cijferLijst opleuken:
… elk cijfer een puntje hoger.
StrategieVoor elk cijfer in cijferLijst:
pak het cijfer en tel daar 1 bij op
Print de lijst
cijferLijst = [8.0, 5.5, 2.3, 4.6, 6.1, 5.6]
![Page 11: Lesson 1: Getting Startedcourse.cs.ru.nl/pythonVO/docs/sheets/Python sheets... · Informatica Renske Smetsers. Planning komende tijd. Iteraties: FOR loop en (geneste)lijsten ... Lesson](https://reader034.fdocuments.us/reader034/viewer/2022050219/5f6533ea7f8e164dd34c2ae2/html5/thumbnails/11.jpg)
Lijst doorlopen en aanpassen
Een oplossing:
cijferLijst = [8.0, 5.5, 2.3, 4.6, 6.1, 5.6]
for cijfer in cijferLijst:cijferLijst[cijfer] += 1 #cijfer ophogen met 1
print( cijferLijst )
StrategieVoor elk cijfer in cijferLijst:
pak het cijfer en tel daar 1 bij op
Print de lijst
![Page 12: Lesson 1: Getting Startedcourse.cs.ru.nl/pythonVO/docs/sheets/Python sheets... · Informatica Renske Smetsers. Planning komende tijd. Iteraties: FOR loop en (geneste)lijsten ... Lesson](https://reader034.fdocuments.us/reader034/viewer/2022050219/5f6533ea7f8e164dd34c2ae2/html5/thumbnails/12.jpg)
Vermenigvuldigingstabel maken Schrijf een programma dat de tafel van
vermenigvuldiging van het 12 afdrukt, voor de getallen 1 tot en met 10:
1 * 12 = 122 * 12 = 24..10 * 12 = 120
Ga naar Hoofdstuk 7b - Iteraties: For-loopAfsluitende opgave 7.10
# Tafel van vermenigvuldiging (met een for loop)
tafel = 12 for teller in range (1, 11):
antwoord = teller*tafelprint( teller, "*", tafel, "=", antwoord )
Strategie:tafel wordt 12Voor elk teller tussen 1 en 11:
antwoord wordt teller*tafelprint: teller*tafel = antwoord
Heb je die af? Probeer dan:Afsluitende opgave 7.11
![Page 13: Lesson 1: Getting Startedcourse.cs.ru.nl/pythonVO/docs/sheets/Python sheets... · Informatica Renske Smetsers. Planning komende tijd. Iteraties: FOR loop en (geneste)lijsten ... Lesson](https://reader034.fdocuments.us/reader034/viewer/2022050219/5f6533ea7f8e164dd34c2ae2/html5/thumbnails/13.jpg)
Vermenigvuldigingstabellen maken En als je nu ook nog alle tafels t/m 12 wilt afdrukken1*1 = 1 1*2=2 … 1*12 =122*1 = 2 2*2=4 … 2*12=24.. … … …10*1=10 10*2=20 … 10*12=120
Strategie voor 1 tafel:
tafel wordt 12Voor elk teller tussen 1 en 11:
antwoord wordt teller*tafelprint: teller*tafel = antwoord
Strategie voor 10 tafels:
Voor elk tafel tussen 1 en 13:Voor elk teller tussen 1 en 11:
antwoord wordt teller*tafelprint: teller*tafel = antwoord
![Page 14: Lesson 1: Getting Startedcourse.cs.ru.nl/pythonVO/docs/sheets/Python sheets... · Informatica Renske Smetsers. Planning komende tijd. Iteraties: FOR loop en (geneste)lijsten ... Lesson](https://reader034.fdocuments.us/reader034/viewer/2022050219/5f6533ea7f8e164dd34c2ae2/html5/thumbnails/14.jpg)
Vermenigvuldigingstabellen maken
Voor 1 tafel:
En als je nu ook nog alle tafels t/m 12 wilt afdrukken1*1 = 1 1*2=2 … 1*12 =122*1 = 2 2*2=4 … 2*12=24.. … … …10*1=10 10*2=20 … 10*12=120
Maar nu uitbreiden dat ook de tafel doortelt van 1 t/m 12 (of 1 tot 13) Ga naar Hoofdstuk 7b - Iteraties: For-loop. Afsluitende opgave 7.11
# Tafel van vermenigvuldiging (met een for loop)
tafel = 12 for teller in range (1, 11):
antwoord = teller*tafelprint( teller, "*", tafel, "=", antwoord )
# Tafels van 12 t/m 10for tafel in range (1, 13):
for teller in range (1, 11): antwoord = teller*tafelprint(teller, "*", tafel, "=", antwoord)
print()
Strategie voor 10 tafels:Voor elk tafel tussen 1 en 13:
Voor elk teller tussen 1 en 11:antwoord wordt teller*tafelprint: teller*tafel = antwoord
![Page 15: Lesson 1: Getting Startedcourse.cs.ru.nl/pythonVO/docs/sheets/Python sheets... · Informatica Renske Smetsers. Planning komende tijd. Iteraties: FOR loop en (geneste)lijsten ... Lesson](https://reader034.fdocuments.us/reader034/viewer/2022050219/5f6533ea7f8e164dd34c2ae2/html5/thumbnails/15.jpg)
Geneste for loop – loop in een loop Ook als je bijvoorbeeld coördinaten wilt afdrukken
Resultaat:
for x in range(5): for y in range(5):
print(x,y)
4 04 14 24 34 4
1 01 11 21 31 4
…0 00 10 20 30 4
![Page 16: Lesson 1: Getting Startedcourse.cs.ru.nl/pythonVO/docs/sheets/Python sheets... · Informatica Renske Smetsers. Planning komende tijd. Iteraties: FOR loop en (geneste)lijsten ... Lesson](https://reader034.fdocuments.us/reader034/viewer/2022050219/5f6533ea7f8e164dd34c2ae2/html5/thumbnails/16.jpg)
Geneste lijsten (lijsten in lijsten)
brood = [“volkoren”, “bruin”, “wit”]
voorraadAH = [ brood, fruit ]
fruit = [“mango”, “peer”]
Je hebt een lijst:
En nog een lijst:
Die kun je samen nog een lijst van maken:
voorraadAH = [[“volkoren”, “bruin”, “wit”],[“mango”, “peer”] ]
Oftewel:
![Page 17: Lesson 1: Getting Startedcourse.cs.ru.nl/pythonVO/docs/sheets/Python sheets... · Informatica Renske Smetsers. Planning komende tijd. Iteraties: FOR loop en (geneste)lijsten ... Lesson](https://reader034.fdocuments.us/reader034/viewer/2022050219/5f6533ea7f8e164dd34c2ae2/html5/thumbnails/17.jpg)
BitParity unplugged
![Page 18: Lesson 1: Getting Startedcourse.cs.ru.nl/pythonVO/docs/sheets/Python sheets... · Informatica Renske Smetsers. Planning komende tijd. Iteraties: FOR loop en (geneste)lijsten ... Lesson](https://reader034.fdocuments.us/reader034/viewer/2022050219/5f6533ea7f8e164dd34c2ae2/html5/thumbnails/18.jpg)
Afbeeldingen digitaal opgeslagen
rij1 = [1,0,1,0,1]
afbeelding = [ [1,0,1,0,1],[1,1,1,1,1],[1,1,1,1,1],[0,1,1,1,0],[1,0,0,0,1] ]
![Page 19: Lesson 1: Getting Startedcourse.cs.ru.nl/pythonVO/docs/sheets/Python sheets... · Informatica Renske Smetsers. Planning komende tijd. Iteraties: FOR loop en (geneste)lijsten ... Lesson](https://reader034.fdocuments.us/reader034/viewer/2022050219/5f6533ea7f8e164dd34c2ae2/html5/thumbnails/19.jpg)
Afbeeldingen digitaal opgeslagen
afbeelding = [ [1,0,1,0,1],[1,1,1,1,1],[1,1,1,1,1],[0,1,1,1,0],[0,0,0,0,0] ]
Algoritmevoor elke rij:
voor elke bitje:tel op bij totaal
controleer of totaal even is
Hoe doorloop je alle bits om de fout te vinden?
for loop
for loop
![Page 20: Lesson 1: Getting Startedcourse.cs.ru.nl/pythonVO/docs/sheets/Python sheets... · Informatica Renske Smetsers. Planning komende tijd. Iteraties: FOR loop en (geneste)lijsten ... Lesson](https://reader034.fdocuments.us/reader034/viewer/2022050219/5f6533ea7f8e164dd34c2ae2/html5/thumbnails/20.jpg)
Afbeeldingen digitaal opgeslagen
afbeelding = [ [1,0,1,0,1],[1,1,1,1,1],[1,1,1,1,1],[0,1,1,1,0],[0,0,0,0,0] ]
Algoritmevoor elke rij:
voor elke bitje:tel op bij totaal
controleer of totaal even is
Hoe doorloop je alle bits om de fout te vinden?
for rij in range(5):for bit in range(5):totaal += afbeelding[rij][bit]
![Page 21: Lesson 1: Getting Startedcourse.cs.ru.nl/pythonVO/docs/sheets/Python sheets... · Informatica Renske Smetsers. Planning komende tijd. Iteraties: FOR loop en (geneste)lijsten ... Lesson](https://reader034.fdocuments.us/reader034/viewer/2022050219/5f6533ea7f8e164dd34c2ae2/html5/thumbnails/21.jpg)
Afbeeldingen digitaal opgeslagen
afbeelding = [ [1,0,1,0,1],[1,1,1,1,1],[1,1,1,1,1],[0,1,1,1,0],[0,0,0,0,0] ]
Hoe pas je de foutieve bit aan?
afbeelding[4][2] = 1
Rij 4Bit 2
afbeelding = [ [1,0,1,0,1],[1,1,1,1,1],[1,1,1,1,1],[0,1,1,1,0],[0,0,1,0,0] ]
![Page 22: Lesson 1: Getting Startedcourse.cs.ru.nl/pythonVO/docs/sheets/Python sheets... · Informatica Renske Smetsers. Planning komende tijd. Iteraties: FOR loop en (geneste)lijsten ... Lesson](https://reader034.fdocuments.us/reader034/viewer/2022050219/5f6533ea7f8e164dd34c2ae2/html5/thumbnails/22.jpg)
Voorbeeld met boter-kaas-eierenBord_leeg = [ ["-","-","-"],
["-","-","-"], ["-","-","-"] ]
bord_met_zetten = [ ["X","-",“O"],["-",“-","-"], [“X","-","-"] ]
![Page 23: Lesson 1: Getting Startedcourse.cs.ru.nl/pythonVO/docs/sheets/Python sheets... · Informatica Renske Smetsers. Planning komende tijd. Iteraties: FOR loop en (geneste)lijsten ... Lesson](https://reader034.fdocuments.us/reader034/viewer/2022050219/5f6533ea7f8e164dd34c2ae2/html5/thumbnails/23.jpg)
Lijsten van lijsten - afdrukken Hoe druk je nu zo’n geneste lijst af?
Voor elk element in elk rij druk je het af Dus.. Doorloop elke rij en druk elk kolom-element af
for rij in range(5):for bit in range(5):
print( bericht[rij][bit] )
![Page 24: Lesson 1: Getting Startedcourse.cs.ru.nl/pythonVO/docs/sheets/Python sheets... · Informatica Renske Smetsers. Planning komende tijd. Iteraties: FOR loop en (geneste)lijsten ... Lesson](https://reader034.fdocuments.us/reader034/viewer/2022050219/5f6533ea7f8e164dd34c2ae2/html5/thumbnails/24.jpg)
Succes Succes met de voorbereiding van de toets Direct na de toets mag je op de computer verder met
de opdrachten Hoe eerder je de opdrachten af hebt, hoe eerder je aan
je PO kunt werken: spelletje Zeeslag