PYTHON REEKS 1: BASICS Mathias Polfliet mpolflie@etrovub.be
EENVOUDIGE REKENMACHINE 2 soorten getallen Getallen Z -> integers (gehele getallen) Getallen R -> floating points (reële getallen) Door beperkte numerieke precisie kunnen kleine fouten optreden (meestal verwaarloosbaar) Vb. 1.1 1 = 0.10000000000000009 Python gebruikt [punt] voor reële getallen, geen[komma] 3.14159
EENVOUDIGE REKENMACHINE Typische aritmetische bewerkingen: + optellen - aftrekken * vermenigvuldigen / float deling, zet automatisch om naar float // integer deling, rondt altijd af naar beneden % Modulo operatie, rest na deling ** macht ( )prioriteit bij bewerkingen Volgorde van bewerkingen zoals bij wiskunde
EENVOUDIGE REKENMACHINE Gebruik de interactieve/shell mode van Wing 101 De in de shell ingegeven python code wordt door <Enter> uitgevoerd en het resultaat weergegeven 1+2*3 (1+2)*3 2**4 12%5-7/2 7//2-7.3//2.1 9.1%2 9%-2
EENVOUDIGE REKENMACHINE Gebruik de interactieve/shell mode van Wing 101 De in de shell ingegeven python code wordt door <Enter> uitgevoerd en het resultaat weergegeven 1+2*3 7 (1+2)*3 9 2**4 16 12%5 2-7/2-3.5 7//2 3-7.3//2.1-4 9.1%2 1.1 9%-2-1
EENVOUDIGE REKENMACHINE Gebruik de interactieve/shell mode van Wing 101 De in de shell ingegeven python code wordt door <Enter> uitgevoerd en het resultaat weergegeven 1+2*3 7 (1+2)*3 9 2**4 16 12%5 2 9%-2-1 -7/2-3.5 7//2 3-7.3//2.1-4 9.1%2 1.1 2+
EENVOUDIGE REKENMACHINE Gebruik de interactieve/shell mode van Wing 101 De in de shell ingegeven python code wordt door <Enter> uitgevoerd en het resultaat weergegeven 1+2*3 7 (1+2)*3 9 2**4 16 12%5 2 9%-2-1 -7/2-3.5 7//2 3-7.3//2.1-4 9.1%2 1.1 2+ SYNTAXERROR
OEFENING BASICS VOLUME BOL Het volume van een bol met straal r is 4 3 πr3 π Wat is het volume in cm³ van een bol met straal 5 cm als = 3.14?
OEFENING BASICS VOLUME BOL Het volume van een bol met straal r is 4 3 πr3 π Wat is het volume in cm³ van een bol met straal 5 cm als = 3.14? Herhaal nu voorgaande oefening zodat het volume berekend wordt voor een bol met straal 2, 5, 8, 10, 13 en 15.
OEFENING BASICS VOLUME BOL Het volume van een bol met straal r is 4 3 πr3 π Wat is het volume in cm³ van een bol met straal 5 cm als = 3.14? Herhaal nu voorgaande oefening zodat het volume berekend wordt voor een bol met straal 2, 5, 8, 10, 13 en 15. Verander nu de waarde van pi naar 3.14159
VARIABELEN Een gereserveerde geheugenplaats met een bepaald object/waarde Kan elk mogelijk type aannemen (int, float, string, ) Waarde toekennen aan variabele eggs = 15 bacon = 10 = is de assignment operator Waarde uit een variabele gebruiken print(eggs + bacon)
VARIABELEN Nieuwe waarde toekennen aan bestaande variabele a = 10 print(a) a = a + 1 print(a) 10 11 De = operator heeft in Python NIET dezelfde functie als in de wiskunde a = 20 a = a is nu een string! print(a) a is nu een string! In Python zijn variabelen niet vast gebonden aan een type. Ze kunnen tijdens gebruik veranderen van type. Dit is niet voor elke programmeertaal het geval.
OEFENING BASICS VARIABLEN Gebruik de editor mode van Wing 101 De in de editor ingegeven python code wordt uitgevoerd door de RUN knop Alle code wordt uitgevoerd Enkel resultaten met een print() functie worden afgeprint in de shell Maak twee nieuwe variabelen aan met naam pi en r, dewelke je de respectievelijke waarden 3.14159 en 5 toekent. Bereken nu opnieuw het antwoord op vraag 1.b.1, waarbij je de nieuwe variabelen gebruikt voor je berekening.
OEFENING BASICS VARIABLEN Geef aan de variable x een waarde 4 en aan de variable y een waarde van 5 Voer nu achtereenvolgens volgende expressies uit en voorspel de waarden van x en y x=x+y x=y-3 y=x
OEFENING BASICS VARIABLEN Geef aan de variable x een waarde 4 en aan de variable y een waarde van 5 Voer nu achtereenvolgens volgende expressies uit en voorspel de waarden van x en y x=x+y x heeft nu een waarde van 9 y heeft nu een waarde van 5 x=y-3 y=x
OEFENING BASICS VARIABLEN Geef aan de variable x een waarde 4 en aan de variable y een waarde van 5 Voer nu achtereenvolgens volgende expressies uit en voorspel de waarden van x en y x=x+y x heeft nu een waarde van 9 y heeft nu een waarde van 5 x=y-3 x heeft nu een waarde van 2 y heeft nu een waarde van 5 y=x
OEFENING BASICS VARIABLEN Geef aan de variable x een waarde 4 en aan de variable y een waarde van 5 Voer nu achtereenvolgens volgende expressies uit en voorspel de waarden van x en y x=x+y x heeft nu een waarde van 9 y heeft nu een waarde van 5 x=y-3 x heeft nu een waarde van 2 y heeft nu een waarde van 5 y=x x heeft nu een waarde van 2 y heeft nu een waarde van 2
STRINGS Opeenvolging van karakters Tussen enkele aanhalingstekens of dubbele aanhalingstekens Gebruik hetzelfde teken om te openen en te sluiten Dit is een string met dubbele aanhalingstekens. Dit is een andere string met enkele aanhalingstekens. Dit is een syntax fout! Tip: Gebruik enkele aanhalingstekens voor één karakter Gebruik dubbele aanhalingstekens voor een opeenvolging van karakters (strings) Hetzelfde effect in Python maar verschillend in veel andere programmeertalen
OEFENING BASICS STRINGS Dit is een string <Geen output> print( Dit wordt geprint ) Dit wordt geprint Enkel resultaten met een print() worden afgeprint Print( Tom + Tam ) TomTam Herhaling op strings is mogelijk! print( pom *4) pompompompom Herhaling op strings is mogelijk! print( blablabla /3) Type Error: unsupported operand type(s) for /: str and int print(dit werkt niet!) Syntax Error: invalid syntax: <string>
BOOLEAANSE WAARDEN Een computer/tablet/smartphone/etc. werkt intern met digitale elektronica Gebruikt booleaanse logica en heeft 2 staten: aan, waar, 1, True uit, vals, 0, False Geen aanhalingstekens (anders zijn het strings!) Let op de hoofdletter
WAARDEN VERGELIJKEN Voorbeeld: A == B Is de waarde van variabele A gelijk aan de waarde van variabele B? Resultaat is een booleaanse waarde: True of False Merk op: == (dubbel) is een vergelijking, = (enkel) is een assignment (variabele) Operatoren: == gelijk aan!= niet gelijk aan > groter dan < kleiner dan >= groter dan of gelijk <= kleiner dan of gelijk
COMBINEREN VAN BOOLEAANSE WAARDEN Vb: controleren of een waarde groter is dan 10 EN kleiner dan 20 x > 10 ->True of False x < 20 ->True of False Deze booleaanse waarden worden gecombineerd met de operatoren: AND Output True als zowel A als B True zijn OR Output True als minstens 1 van beide inputs True is NOT Output is omgekeerde van input: True -> False en vice versa Volgorde van bewerkingen: NOT -> AND -> OR Vb contd. waarde groter dan 10 EN kleiner dan 20 x > 10 AND x < 20
OEFENING BASICS BOOLEANS 0 and 1 0 or 1 True or False ( ( not True ) or False ) and ( not ( ( not False ) or True ) ) not True or False and not not False or True 3>5 2<=2 5!=4 6==7 False True True False True False True True False
LIJSTEN Lijsten kunnen meerdere elementen bevatten en worden daarom uitvoerig gebruikt in programmeeromgevingen Lijsten = Vierkante haakjes en komma s tussen de elementen mijnlijst = [10, 20, 30, 40, 50, 60, 70] Elementen binnen de lijst zijn aanspreekbaar/toegankelijk via een index Begint bij 0 mijnlijst 10 20 30 40 50 60 70 indexen 0 1 2 3 4 5 6
LIJSTEN mijnlijst = [10, 20, 30, 40, 50, 60, 70] Aanspreken element in lijst met index mijnlijst[1] Wijzigen element in lijst via index mijnlijst[1] = 19 Concateneren van twee lijsten mijnlijst = [10, 20, 30, 40, 50, 60, 70] mijnanderelijst = [ Mathias, Polfliet ] mijnlijst + mijnanderelijst Controleren of bepaald element in lijst aanwezig is 30 in mijnlijst Output: True
TUPLES Tuples zijn niet muteerbare lijsten Kunnen aangemaakt worden maar nadien NIET gewijzigd worden Men gebruikt ronde haakjes en komma s ( a, b, c ) mijntuple = (10, 20, 30, 40, 50, 60, 70) mijntuple[1] Output: 20 mijntuple[1] = 21 Output: ERROR
OEFENINGEN BASICS LIJSTEN EN TUPLES Definieer een variabele mylist en sla hierin een lijst op die de eerste 5 letters van het alfabet bevat. Wijzig het derde element uit mylist door de letter z en print de lijst af ter controle. Doe dit niet door de lijst gewoon te kopieren, maar door met een assignment van het derde element te werken. Maak een nieuwe variabele mylist2 en sla hierin een lijst op die twee strings en een integer bevat, namelijk jouw voornaam, jouw achternaam en jouw leeftijd. Print deze variabele af. Voeg nu de twee lijsten samen en sla het resultaat op in een nieuwe variabele mylist3. Print mylist3 af ter controle. Idem aan vraag 5a), maar nu maak je een tupel in plaats van een lijst (gebruik hiervoor ronde haken ipv vierkante). Wat gebeurt er als je nu net zoals in vraag 5b) de waarde van het derde element wilt wijzigen?