Logo MBOdigitaal

Python

Hieronder staat een overzicht van alle keuzedelen waaruit je kunt kiezen.

Achterliggend leerdoel Challenge 25

Challenge 1

Ik kan eenvoudige computerprogramma's maken met de scripttaal Python zonder gebruik te maken van ChatGPT.

Vista College

Software Developer (25904 en 25998)

Omschrijving

Hieronder staan ongeveer 30 kleine computerprogamma's die je helpen om te leren programmeren met Python. Eerst installeer je Python en PyCharm Community op je eigen computer. Daarna kies je zelf kleine challenges uit de lijst hier beneden. Probeer zowel individueel en als groep zoveel mogelijk punten bijelkaar te verzamelen. Personen die chatGPT (of ander AI-programma) om deze mini-challenges op te lossen worden gediskwalificeert. Je mag natuurlijk wel zaken op internet opzoeken.

Mini challenges

Nr Omschrijving Badge Aantal sterren Aantal punten
1. Hello, John Doe
Vraag de gebruiker om zijn naam in te voeren. Als je het script runt dan zie je de tekst "Hello, John Doe" staan. John Doe is de ingevoerde naam.
1 10
2. Is Getal?
Vraag een gebruiker om twee getallen in te vullen. Controleer of de twee getallen ook echt getallen zijn.
1 10
3. BTW
Vraag de gebruiker om een bedrag zonder BTW in te vullen. Bereken het bedrag met BTW (21%) en print deze op scherm.
1 10
4. Naam en Leeftijd
Vraag de gebruiker om zijn naam en leeftijd. Bereken in welk jaar de gebruiker 100 jaar oud zal zijn.
1 10
5. PeterPeterPeterPeter
Vraag de gebruiker om zijn naam voornaam in te vullen. Zorg dat de naam vier keer achterelkaar gezet wordt.
1 10
6. Tientallen
Gebruik een lus om alle tientallen van 10 tot en met 100 op het scherm te tonen.
1 10
7. Woorden draaien
Vraag om een woord en zorg ervoor dat het omgedraaid op het scherm getoond wordt.
1 10
8. Delen
Vraag de gebruiker om 3 getallen in te voeren. Het programma deelt deze 3 getallen door elkaar en toont de uitkomst op vier decimalen nauwkeurig op het scherm.
1 10
9. Faculteit
Maak een programma dat de faculteit van een door de gebruiker ingevoerd getal kan berekenen en op het scherm toont.
1 10
10. Dobbelsteen nr 1
Vraag de gebruiker hoeveel dobbelstenen deze wil gooien. Laat zien dat de dobbelstenen gegooid worden, wat het resultaat per dobbelsteen is en wat de som is van het aantal ogen.
1 10
11. Getallen
Het programma vraagt de gebruiker 5 getallen in te voeren, gescheiden door een spatie. Vervolgens worden deze getallen van groot naar klein gesorteerd op het scherm getoond.
2 20
12. PeterPeterPeterPeter 2
Vraag de gebruiker om zijn naam voornaam in te vullen en het aantal keer dat de naam achterelkaar gezet moet worden. Zorg dat de naam zoveel keer achterelkaar gezet wordt.
1 10
13. Rijbewijs nr 1
Vraag de leeftijd van de gebruiker en toon of deze gebruiker mag autorijden.
2 20
14. Fibonacci
Schrijf een programma dat de eerste 15 getallen van de Fibonacci reeks op het scherm laat zien. Gebruik hiervoor een lus.
2 20
15. Sinterklaas verlanglijst
Vraag de gebruiker om in te voeren wat deze graag van Sinterklaas zou willen hebben. Vraag één item per keer en blijf vragen tot de gebruiker "KLAAR!" ingetypt heeft. Toon vervolgens de lijst in alfabetische volgorde op het scherm.
2 20
16. Vermenigvuldigen
Vraag de gebruiker om 2 getallen in te voeren. Gebruik een functie om het product uit te rekenen. Toon het resultaat van de functie op het scherm. De functie zelf mag dus niets op het scherm plaatsen.
2 20
17. Palindroom
Vraag een woord en laat de gebruiker weten of het ingevoerde woord een palindroom is.
2 20
18. Wie mag er beginnen?
Vraag hoeveel spelers er zijn. Vraag vervolgens per speler de naam. Laat op het scherm de naam van een willekeurige speler zien. Deze speler mag beginnen.
2 20
19. Verkiezingen
Gebruikers mogen net zo lang namen invoeren tot er "UITSLAG!" ingevoerd wordt. De naam die het vaakst ingevoerd is wordt op het scherm getoond als de winnaar. Bij het invoeren maken hoofdletters geen verschil.
2 20
20. Lootbox
Maak een programma dat een loot drop simuleert. Common, Uncommon, Rare, Epic en Legendary zijn de verschillende niveaus qua loot, op volgorde van wat het meest voorkomt tot wat het minst voorkomt. Zorg ervoor dat jouw programma hier rekening mee houdt.
2 20
21. Rekenmachine
De rekenmachine vraagt de gebruiker om een getal. Vervolgens wordt gevraagd welke actie er uitgevoerd moet worden. De acties zijn: + (plus), - (minus), / (delen), * (vermenigvuldigen), = (uitkomst). Als de actie 'uitkomst' gekozen wordt, toont het programma het resultaat op het scherm. Als een andere actie gekozen wordt, dan wordt er om een nieuw getal gevraagd om deze actie mee uit te voeren.
3 40
22. Rekenmachine
Vraag de geboortedatum van de gebruiker en toon wat deze gebruiker vandaag volgens de Nederlandse wet mag op het gebied van motorrijden.
3 40
23. Wie heeft er gewonnen?
Vraag hoeveel spelers er zijn. Afhankelijk van het aantal spelers vraag je per speler de naam en de score. Laat op het scherm zien wie er gewonnen heeft. Hoogste score wint.
3 40
24. Dobbelsteen nr 2
Er bestaan verschillende soorten dobbelstenen. Hoeveel dobbelstenen en welke soorten er gegooid gaan worden kan worden beschreven in het 'AdX' formaat. Het programma vraagt naar welke dobbelstenen er gegooid moeten worden. De gebruiker gebruikt de 'AdX' notatie. Het resultaat is de som van alle dobbelstenen. Als de gebruiker niet het juiste formaat gebruikt moet het programma dit aangeven en de gebruiker nogmaals om invoer vragen.
3 40
25. Quick sort
Zoek uit wat de Quick Sort methode is en maak een programma waarin je deze methode toepast.
4 80
26. Bubble sort
Zoek uit wat de Bubble Sort methode is en maak een programma waarin je deze methode toepast.
4 80
27. Roulette
Saldo: De speler begint met 10 chips.
Inzet: De speler kiest hoeveel chips hij wil inzetten.
Getal: De speler kiest een getal tussen 0 en 36 om op in te zetten.
Draai: Het roulettewiel draait en kiest een willekeurig getal tussen 0 en 36.
Winst: Als het getal van de speler overeenkomt met het gedraaide getal, wint de speler 35 keer zijn inzet.
Doorgaan: De speler kan kiezen om door te gaan of te stoppen.
Dit programma helpt studenten om te oefenen met loops, conditionals, en de random module in Python. Veel plezier met het spelen en leren! Heb je nog andere vragen of opdrachten waar je hulp bij nodig hebt?
4 80
28. Minecraft JSON
De blokken in Minecraft kunnen we beschrijven met een JSON object. Dit object bevat dan de specifieke eigenschappen van het blok. In deze opdracht gaan we deze eigenschappen aanpassen. Als eerste willen we een grasblok in een sneeuwblok laten veranderen. Hiervoor moet je 'snow' op 'True' zetten. Vervolgens willen we de locatie van het blok aanpassen: we verschuiven het blok +66 in de y-richting en we maken het z-coördinaat drie keer zo groot. Lees gras_blok.json in met Python. Pas de eigenschappen aan zoals hierboven genoemd. Sla deze aangepaste dictionary op als JSON bestand noem deze sneeuw_blok.json. Deze lever je naast je code ook in.
BADGE: King of Blocks 4 80
29. Nachtjes slapen
In deze opdracht ga je een programma schrijven om voor een datum te berekenen hoeveel dagen geleden het deze datum was, of hoeveel dagen deze datum in de toekomst ligt. Bijvoorbeeld: +48 dagen is 48 dagen in de toekomst en -12 dagen is 12 dagen geleden. Voor deze opdracht is specifiek datetime.date erg handig. Vraag de gebruiker om het jaar. Vraag de gebruiker om de maand. Vraag de gebruiker om de dag. Print hoeveel dagen verschil er zit tussen deze datum en vandaag.
BADGE: Master of Disaster 4 80
30. Cijfer berekenen
...
4 80

Studiematerialen

Titel Omschrijving Verplicht
Start Presentatie Start Presentatie voor deze challenge. Ja
Download latest Python version for Windows Download de laatste stabiele versie van Python. Let op! Kies geen "pre-release" versie. Ja
PyCharm Cummunity Edition Dit is een programmeer-omgeving (IDE) voor Python. Installeer deze op je computer. Ja
Leren programmeren Bestudeer deze video-reeks om de beginselen van python te leren kennen. Doe alle opdrachten mee. Nee
Python Tutorial Volg de python tutorial van w3schools. Volg de hoofdstukken "Python Tutorial", "File Handling" en "Python MySQL". Ja
Python Workshops Volg de workshop over de "01 Installatie" om je development-omgeving te installeren en configureren. Ja