Basiskennis Python¶
Bij de cursus Inleiding programmeren heb je de basis van het programmeren in Python geleerd. In dit hoofdstuk neem je de hoofdlijnen van deze cursus door aan de hand van een aantal opdrachten.
Visual Studio Code¶
Map aanmaken en openen in Visual Studio Code
- Open Visual Studio Code.
- Ga naar File > Open folder.
- Navigeer naar een geschikte map.
- Klik op Nieuwe map en geef de map de naam ECPC.
- Klik op Map selecteren.
Variabelen, input()
-functie en f-strings¶
Variabelen, input()
-functie en f-strings
- Maak een bestand
diameter-ball.py
in de mapECPC
.
ECPC
└──diameter-ball.py
- Schrijf een stuk code waarin je de gebruiker vraagt wat de diameter van de bal is. Maak hierbij gebruik van de
input()
-functie. - Bereken daarna de straal van de bal.
- Print de diameter en straal van de bal in een zin. Maak hiervoor gebruik van f-strings. Bijvoorbeeld: "A ball with a diameter of 2.8 m has a radius of 1.4 m."
- Test je script met het getal 2.8.
If-statements en operatoren¶
if-statements en operatoren
Met een if-statement kun je een conditie testen door operatoren te gebruiken.
- Schrijf de operatoren op voor:
- gelijk aan
- ongelijk aan
- groter dan
- groter of gelijk aan
- kleiner dan
- kleiner dan of gelijk aan
- Vul in onderstaand script de juiste condities in op de
...
. Maak gebruik van de variabelenrain
enumbrella
én de operatorenand
,not
enor
.import random rain = random.choice([True, False]) umbrella = random.choice([True, False]) print(f"{rain=}, {umbrella=}") if ... : print("Lucky you have your umbrella with you since it's raining.") if ... : if ... : print("You will get wet without an umbrella since it's raining.") if ... : print("You can use your umbrella as a walking stick since it doesn't rain.") if ... : print("Without an umbrella there is no problem since it's not raining.")
Uitwerkingen
import random
rain = random.choice([True, False])
umbrella = random.choice([True, False])
print(f"{rain=}, {umbrella=}")
if rain and umbrella:
print("Lucky you have your umbrella with you since it's raining.")
if rain or umbrella:
if rain and not umbrella:
print("You will get wet without an umbrella since it's raining.")
if not rain and umbrella:
print("You can use your umbrella as a walking stick since it doesn't rain.")
if not rain and not umbrella:
print("Without an umbrella there is no problem since it's not raining.")
For-loop, while-loop en break¶
Bij het programmeren heb je vaak te maken met foutmeldingen. Bij het debuggen van een loop zijn twee dingen heel handig: print
en break
.
For-loop, while-loop en break
Beschouw het volgende stuk code:
- Gebruik
print
om het voltage te printen in de while-loop. Doe dit handig met f-strings, zodat je weet wat je print. Bijvoorbeeld: "The voltage is set to 0 mV." - Gebruik daarna
break
om de loop maar één keer te doorlopen. - Schrijf nu de code om. Vervang de
while
-loop voor eenfor
-loop.
Functies¶
Functies
-
Zorg dat in onderstaande code de functie
exponentiation
gaat werken. -
In bovenstaande code zijn vier variabelen gedefinieerd:
solution
,number_1
,number_2
enanswer
. Welk van deze variabelen zijn globaal en welke zijn lokaal? Leg uit wat de consequentie is voor het gebruiken van globaal en lokaal gedefinieerde variabelen.
Uitwerkingen
-
De globale variabelen zijn
number_1
,number_2
enanswer
en de lokale variabele issolution
. Het gevolg is datnumber_1
,number_2
enanswer
zowel buiten als binnen de functieexponentiation()
gebruikt kunnen worden, terwijlsolution
alleen maar binnen de functieexponentiation()
gebruikt kan worden.
Lijsten¶
Lijsten
- Schrijf een Python script waarin je een lijst definieert met de namen van de maanden.
- Print de negende maand.
- Voeg een dertiende maand toe aan de lijst. Controleer daarna of dit gelukt is.
Uitwerkingen
months = [
"January",
"February",
"March",
"April",
"May",
"June",
"July",
"August",
"September",
"October",
"November",
"December",
]
ninth_month = months[8]
print(f"The ninth month is called {ninth_month}")
months.append("trēdecimber")
print(months)
(ECPC) > python lijsten.py
The ninth month is called September.
['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December', 'trēdecimber']
Stijl¶
Bij inleiding programmeren heb je geleerd hoe je code netjes opschrijft, zodat de code leesbaar en begrijpelijk is. Hieronder vind je een samenvatting, die een beetje aangevuld is met ECPC-stijl.
- Schrijf code in het Engels.
- De naam van een variabele houd je kort en duidelijk. Gebruik alleen afkortingen wanneer deze bij veel mensen bekend is. Dus:
korte_variabelenaam = 28
- Namen van functies geven duidelijk weer wat de functie doet, deze namen mogen lang zijn. Dus:
def functienamen_met_doel():
- Je hoeft code niet met de hand over te schrijven. Leesbaarheid gaat daarom boven beknoptheid. Gebruik meerdere regels code als je meerdere stappen zet, in plaats van een heel lange regel code waar meer dan één ding gebeurt.
- Gebruik
#commentaar
-kopjes om een stukje code samen te vatten, een waarschuwing te geven, uitleg van complexe algoritmen te doen, uitleg van een variabele te geven, voor bronvermelding, enzovoorts. Zet het commentaar altijd boven het stukje code waar het over gaat. - Zorg ook voor een nette opmaak. Spring in waar nodig, gebruik witregels en zet spaties rondom operatoren.1
Modules¶
Ook heb je al geleerd om functies uit andere (Python) modules te importeren. Meer hierover vind je in de paragraaf Modules. Maak uit deze paragraaf de bijbehorende opdrachten om te oefenen met het gebruik van modules.
Plotten¶
Grafieken
Gebruik matplotlib
om een scatterplot te maken van de twee lijsten die hieronder zijn weergegeven. Zet de grootheden en eenheden bij beide assen en sla het figuur op als PNG-bestand.
Bestanden inlezen¶
Tekstbestanden lezen
Hieronder vind je een kort verhaal. Kopieer de inhoud van dit verhaal naar een tekstbestand — een .txt-bestand — en sla dit bestand op in de map ECPC
. Schrijf daarna een script om het tekstbestand te lezen en regel voor regel te printen.
"Do you have a favourite
saying?" asked the boy.
"Yes" said the mole.
"What is it?"
"If at first you don't
succeed have some cake."
"I see, does it work?"
"Every time."
From: The boy, the mole, the fox and the horse - Charlie Mackesy
Uitwerkingen
(ECPC) > python txt_bestanden_lezen.py
"Do you have a favourite
saying?" asked the boy.
"Yes" said the mole.
"What is it?"
"If at first you don't
succeed have some cake."
"I see, does it work?"
"Every time."
From: The boy, the mole, the fox and the horse - Charlie Mackesy
-
Er zijn pakketten beschikbaar die je code automatisch aanpassen aan een standaard opmaak, je hoeft bijna niet meer na te denken over de vormgeving van de code. Ruff2 is zo'n formatter. Je kunt van Ruff gebruikmaken door in Visual Studio Code de Ruff-extensie van Astral Software te installeren. Ga daarna in Visual Studio Code naar Settings en type in het zoekvenster format on save. Vink de instelling Editor: Format On Save aan. Type daarna in het zoekvenster default formatter en kies voor de formatter Ruff. ↩
-
Ruff. URL: https://docs.astral.sh/ruff/. ↩