Skip to main content

Opdrachten

Wat Python?

Guido van Rossum is een Nederlandse computerprogrammeur die bekend staat als de maker van de programmeertaal Python.

Python heeft dus Nederlandse roots.

Maar wat heeft Python zo bekendgemaakt?

  • Python heeft veel library's waarmee je heel makkelijk bepaalde zaken kan doen, zo zijn er tegenwoordig veel library's waarmee je een AI-model kan maken. Maar er is bijvoorbeeld ook een Library om via de Canvas-API gegevens met Canvas uit te wisselen. De Canvas Monitor maakt daar gebruik van en is gedeeltelijk geschreven in Python.
  • Python werkt platformonafhankelijk. Als je iets programmeert op Windows dan draait dat ook op een mac of op Linux.
  • Er zijn Frameworks (net als Yii, Laravel en React) gebouwd rond Python. De bekendste zijn: Django en Flask. Met Flask gaan we later kennis maken.

Populariteit

Python is momenteel (2023) erg populair en staat volgens de TIOBE index op nummer 1.

image-1687453085534.png
(Stackoverflow "Most Popular Technology" 2023)

Volgens gebruikers van Stack Overflow was Python de op twee na populairste technology (na JavaScript en HTML).

Let op: dit is wat andes als meest gebruikte technology, daarbij komt PHP vaak op nummer één uit.

Python wordt ook veel gebruikt in het onderwijs (HBO en Universiteit).

Voordelen Python

Waarom zou je Python in plaats van PHP gebruiken?

  • Over het algemeen wordt de code van Python gezien als beter leesbaar, waardoor je het eerder begrijpt.
  • PHP is gemaakt voor web-ontwikkeling.
    Python is veel algemener en je kunt het voor alles gebruiken:
    • data-analyse, automatiseren van beheer (bijv. automatisch updaten van computers),
    • met bepaalde Python library's kan je GUI ontwikkelen,
    • netwerk-prorammeren (dat zijn programma's die bijvoorbeeld het netwerkverkeer kunnen analyseren) en
    • (proto type) game programmering.

Installatie Python

Om Python op een Windows-machine te installeren, kun je de volgende stappen volgen:

  1. Ga naar de officiële Python-website op https://www.python.org/downloads/.

  2. Klik op de knop "Downloaden" onder de meest recente versie van Python (bijvoorbeeld Python 3.9.6).

  3. Scroll naar beneden op de downloadpagina en selecteer de juiste installatieprogramma voor je Windows-besturingssysteem. Kies tussen de 32-bits (x86) of 64-bits (x86-64) versie, afhankelijk van je systeemconfiguratie.

  4. Nadat het installatieprogramma is gedownload, dubbelklik je erop om het uit te voeren.

  5. In het installatieprogramma wordt een dialoogvenster geopend. Zorg ervoor dat je het selectievakje "Add Python to PATH" aanvinkt en klik op "Install Now" om de standaardinstallatie te starten.

  6. De installatie begint en Python wordt op je systeem geïnstalleerd. Het kan enige tijd duren. Zorg ervoor dat je de optie "Disable path length limit" selecteert als deze wordt weergegeven.

  7. Na de installatie wordt er een dialoogvenster geopend met de titel "Setup was successful". Vink het selectievakje "Disable path length limit" aan als deze optie beschikbaar is en klik op "Close" om de installatie te voltooien.

  8. Om te controleren of Python correct is geïnstalleerd, open je het opdrachtpromptvenster (Win + R, typ "cmd" en druk op Enter) en typ je "python --version" gevolgd door Enter. Je zou de geïnstalleerde versie van Python moeten zien.

Gefeliciteerd! Je hebt Python succesvol geïnstalleerd op je Windows-machine. Nu kun je Python gebruiken om scripts uit te voeren, applicaties te ontwikkelen en meer.

Inspringen

Allereerst....superbelangrijk, in Python is het inspringen belangrijk. Doe je dit niet op de juiste manier, dan werkt je code niet!

import random

def raad_het_getal():
    willekeurig_getal = random.randint(1, 100)
    aantal_pogingen = 0

    while True:
        gok = int(input("Raad het getal tussen 1 en 100: "))

        if gok == willekeurig_getal:
            print(f"Gefeliciteerd! Je hebt het juiste getal geraden in {aantal_pogingen} poging(en).")
            break
        elif gok < willekeurig_getal:
            print("Te laag! Probeer het opnieuw.")
        else:
            print("Te hoog! Probeer het opnieuw.")

raad_het_getal()

Maak een bestand aan (in VCS of andere editor) en zet het bovenstaande Python programmaatje er in. Voer het programma uit en bestudeer hoe het werkt.

Je ziet na elke : begint er een programma-blok. Op regel 3 begin je met het maken van een functie. Je springt dan in en alles wat op dit niveau is ingesprongen (of verder) hoort bij de functie. Regel 19 is dus de eerste regel die niet meer bij de functie hoort.

Regel 12 en 13 hoort bij de if, 15 bij de else if en 17 bij de else.

Probeer het spel uit.

Er is een klein foutje gemaakt; als je het spel hebt gespeeld dan wordt er gezegd dat je het getal hebt geraden in 0 pogingen.


Opdracht 1

Pas de code aan zodat als je het getal hebt geraden het aantal pogingen juist wordt afgedrukt.

Tip: om sneller te kunnen testen kan je het spel ook even veranderen in 'Raad een getal tussen 0 en 10'.

Inleveren

Aangepaste python code

(nakijken: import random aantal_pogingen while aantal_pogingen aantal pogingen raad)


Opdracht 2

Pas de code aan zodat je na 10 beurten het spel stopt en de gebruiker verteld dat hij het maximale aantal beurten van 10 heeft gehaald. Laat de gebruiker weten wat het getal was en dat hij heeft verloren.

Eis: verander de hiervoor de oneindige loop while true:

Inleveren

Aangepaste python code

(nakijken: import random aantal_pogingen while aantal_pogingen aantal_pogingen  aantal pogingen raad)


Opdacht 3

In Python wordt vaak een API gebruikt. API's geven vaak JSON output, bijvoorbeeld:

{
  "personen": [
    {
      "naam": "Alice",
      "leeftijd": 25,
      "stad": "Amsterdam"
    },
    {
      "naam": "Bob",
      "leeftijd": 32,
      "stad": "Rotterdam"
    },
    {
      "naam": "Charlie",
      "leeftijd": 42,
      "stad": "Utrecht"
    }
  ]
}

Maak dit JSON bestand aan.

En maak het volgende Python script.

import json

# JSON-bestand lezen
with open("data.json") as json_bestand:
    data = json.load(json_bestand)

# Gegevens verwerken
personen = data["personen"]
for persoon in personen:
    naam = persoon["naam"]
    leeftijd = persoon["leeftijd"]
    stad = persoon["stad"]
    print(f"Naam: {naam}, Leeftijd: {leeftijd}, Stad: {stad}")

Controleer of je code werkt.

Zoek op wat het commando import JSON doet.

Opdracht regel 10, 11 en 12 zou je weg kunnen laten, maar dan moet je wel regel 13 aanpassen.

Pas regel 13 aan zodat de code werkt zonder regel 10, 11 en 12.

Inleveren

Aangepaste python code

import json personen for !["personen] !['leeftijd] !["stad"] naam leeftijd stad


Opdracht 4

Pas daarna de JSON aan zodat iedereen een telefoonnummer krijgt en pas de code aan zodat het telefoonnummer wordt afgedrukt. Het telefoonnummer wordt als laatste afgedrukt (dus na de stad).

(import json personen for naam leeftijd stad telefoonnummer)

Inleveren

Aangepaste python code

--