Basiskennis Python¶
Bij de cursus inleiding programmeren heb je de basis van het programmeren in Python geleerd. Bij inleiding programmeren mocht je kiezen om je code in het Nederlands of Engels te schrijven. Omdat wij jullie voorbereiden om in een onderzoeksgroep je bachelor project te gaan doen waar je hoogstwaarschijnlijk internationale collega's gaat treffen vragen we jou om bij ECPC alles in het Engels te schrijven. In deze paragraaf nemen we de hoofdlijnen van inleiding programmeren met je door in een aantal opdrachten.
Visual Studio Code¶
Open VSCode en maak de map ECPC
- Open Visual Studio Code.
- Ga naar File > Open folder.
- Navigeer naar een geschikte map, bijvoorbeeld OneDrive.
- Klik op Nieuwe map en noem de map ECPC.
- Klik op Map selecteren.
F-strings, variabelen en input()¶
f-strings, variabelen en input
- Maak een bestand
diameter-ball.py
in de mapECPC
.
ECPC
└──diameter.py
- Schrijf een stuk code waarin je de gebruiker vraagt wat de diameter van de bal is.
- Bereken de radius van de bal.
- Print de diameter en radius in een zin en maak gebruik van f-string. 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-statement en operatoren¶
if-statement en operatoren
Met een if
-statement kan 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 op de
...
de juiste condities in door gebruik te maken vanand
,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¶
For-loop, while-loop en break
- Beschouw de volgende code:
Bij het programmeren krijg je vaak errors. Bij het debuggen van een loop zijn twee dingen heel handig print
en break
.
- Gebruik
print
om het voltage te printen in the while-loop, doe dit handig met f-strings zodat je weet wat je je print bijvoorbeeld: "The voltage is set to 0 mV." - Gebruik dan
break
om de loop maar een keer te laten lopen. - Schrijf de code om waarbij je gebruikt maakt van een
for
-loop.
Functie¶
functies
-
Maak uit de onderstaande code de functie exponentiation werkend.
-
In deze opdracht zijn 4 variabele
solution
,number_1
,number_2
enanswer
. Welk van deze variabele zijn globaal en welke zijn lokaal? - Leg uit wat daarvan de consequentie is voor het gebruiken van deze variabelen.
Uitwerkingen
-
De globale variabelen zijn
number_1
,number_2
enanswer
en de lokale variabele issolution
. -
Het gevolg is dat
number_1
,number_2
enanswer
wel binnen de functieexponentiation()
gebruikt kunnen worden, maarsolution
niet buiten de functieexponentiation()
gebruikt kan worden.
List¶
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.
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 ook geleerd hoe je code netjes opschrijft zodat het leesbaar en begrijpelijk is. Hieronder vind je een samenvatting, die een beetje aangevuld is met ECPC stijl.
- Schrijf code in het Engels.
def functie_namen_met_doel():
Namen van functies mogen lang zijn, maar geven duidelijk weer wat de functie doet.korte_variabele = 28
de namen van variabele houd je kort en duidelijk. Gebruik alleen afkortingen waarneer deze door veel mensen gekend zijn.- Je hoeft de code niet met de hand over te schrijven dus gebruik liever meer regels dan een hele lange regel waar meer dan 1 ding gebeurd.
- Gebruik
#commentaar-kopjes
om een stukje code samen te vatten, een waarschuwing te geven, uitleg van complexe algoritmen te doen, voor bronvermelding, uitleg van een variabele te geven en zet dit altijd boven het stukje code waar het omgaat. - Spring in waar nodig, gebruik witregels, zet spaties rondom operatoren.
Modules¶
Ook heb je geleerd om functies uit andere (python) modules te importeren, meer hierover vind je in de paragraaf Modules.
Plotten¶
Grafieken
Gebruik matplotlib om een scatterplot te maken van twee lijsten die hieronder zijn weergegeven. Zet de grootheden en eenheden bij beide assen en sla het figuur op als .png-bestand.
Bestanden inlezen¶
txt-bestanden lezen
Hieronder vind je een verhaal, kopieer de inhoud naar een .txt-bestand en sla deze op een handige plek op.
"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
Schrijf een script om het .txt-bestand te lezen en regel voor regel te printen.
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