Nadat Shelly dit bericht had geschreven, bood Webucator, een bedrijf dat Python-training verzorgt, aan om oplossingen voor deze projecten te creëren. Ze hebben een reeks video’s gemaakt die je kunnen helpen als je die nodig hebt.
Het leren van een nieuwe programmeertaal is zowel de meest opwindende als de meest vernederende ervaring. Voor mij is die taal onlangs Python geweest, die ik de afgelopen maanden heb geleerd. En zoals elke programmeur weet, is de beste manier om een taal te leren, deze toe te passen in een project. Maar wat gebeurt er als u geen gigantisch, ambitieus project heeft? Voor mij is dat waar de sandbox van pas komt. Waarom bouw je niet een paar zandkastelen voordat je de rotsen opstapelt naar ons grote oude kasteel?
Met dat in gedachten zijn hier vijf mini-programmeerprojecten om je op weg te helpen over het leren van Python. De exacte oplossingen zijn er niet – dat is waar de belangrijkste leerstof in het spel komt – maar er zijn hints voor de concepten die u zou moeten gebruiken. En vergeet niet dat Google je vriend is!
1. Dice Rolling Simulator
Het doel: Zoals de titel suggereert, omvat dit project het schrijven van een programma dat het rollen van dobbelstenen simuleert. Wanneer het programma wordt uitgevoerd, kiest het willekeurig een getal tussen 1 en 6. (Of welk ander geheel getal je ook verkiest – het aantal zijden van de dobbelsteen is aan jou). Het programma zal afdrukken wat dat getal is. Het zou u dan moeten vragen of u weer wilt rollen. Voor dit project moet je het minimum en maximum aantal instellen dat je dobbelstenen kunnen produceren. Voor de gemiddelde dobbelsteen betekent dat een minimum van 1 en een maximum van 6. U wilt ook een functie die willekeurig een getal binnen dat bereik oppakt en afdrukt.
Concepten om in gedachten te houden:
- Willekeurig
- Geheel getal
- Afdrukken
- While-lussen
Een goed project voor beginners helpt dit project bij het leggen van een solide basis voor basisconcepten. En als je al programmeerervaring hebt, is de kans groot dat de concepten die in dit project worden gebruikt je niet helemaal vreemd zijn. Afdrukken is bijvoorbeeld vergelijkbaar met Javascript console.log.
2. Raad het aantal
Het doel: Net als bij het eerste project, gebruikt dit project ook de willekeurige module in Python. Het programma zal eerst willekeurig een nummer genereren dat de gebruiker niet kent. De gebruiker moet raden wat dat nummer is. (Met andere woorden, de gebruiker moet in staat zijn om informatie in te voeren.) Als de gok van de gebruiker verkeerd is, moet het programma een soort indicatie geven van hoe fout het is (bijv. Het aantal is te hoog of te laag). Als de gebruiker correct raadt, zou een positieve indicatie moeten verschijnen. U hebt functies nodig om te controleren of de gebruikersinvoer een werkelijk getal is, om het verschil te zien tussen het ingevoerde getal en de willekeurig gegenereerde getallen, en om vervolgens de getallen te vergelijken.
Concepten om in gedachten te houden:
- Willekeurige functie
- Variabelen
- Gehele getallen
- Invoer / uitvoer
- Afdrukken
- Terwijl loops
- If / Else-statements
Door van het eerste project af te springen, blijft dit project de basiskennis opbouwen en introduceert het door de gebruiker ingevoerde gegevens eenvoudigste. Met gebruikersinvoer beginnen we een beetje in variabiliteit te komen.
3. Mad Libs Generator
Het doel: Geïnspireerd door het Mad Libs-project van Summer Son met Javascript. Het programma zal de gebruiker eerst vragen om een reeks invoeringen a la Mad Libs. Bijvoorbeeld een enkelvoudig zelfstandig naamwoord, een bijvoeglijk naamwoord, enz. Zodra alle informatie is ingevoerd, neemt het programma die gegevens en plaatst ze in een vooraf gemaakte verhaalsjabloon. Je hebt prompts nodig voor gebruikersinvoer en om vervolgens het volledige verhaal aan het einde af te drukken, inclusief de invoer.
Concepten om in gedachten te houden:
- Strings
- Variabelen
- Aaneenschakeling
- Afdrukken
Een best leuk startproject dat je aan het denken zet over het manipuleren van door de gebruiker ingevoerde gegevens. In vergelijking met eerdere projecten richt dit project zich veel meer op strings en aaneenschakeling. Veel plezier met het bedenken van gekke verhalen hiervoor!
4. Tekstgebaseerd avonturenspel
Het doel: avontuur onthouden? Nou, we gaan daar een meer basale versie van bouwen. Een compleet tekstspel, het programma laat gebruikers door kamers bewegen op basis van gebruikersinvoer en krijgt beschrijvingen van elke kamer. Om dit te maken, moet u de richtingen bepalen waarin de gebruiker zich kan verplaatsen, een manier om bij te houden hoe ver de gebruiker is verplaatst (en dus in welke kamer hij / zij zich bevindt) en een beschrijving afdrukken. U moet ook limieten instellen voor hoever de gebruiker zich kan verplaatsen. Met andere woorden: maak ‘muren’ rond de kamers die de gebruiker vertellen: ‘Je kunt niet verder in deze richting gaan.”
Concepten om in gedachten te houden:
- Strings
- Variabelen
- Invoer / uitvoer
- If / Else-verklaringen
- Afdrukken
- Lijst
- Gehele getallen
De lastige onderdelen hier zijn het opstellen van de instructies en het bijhouden van bijhouden hoe ver de gebruiker in het spel is “gelopen”. Ik raad u aan om slechts een paar basisbeschrijvingen of kamers te gebruiken, hoogstens zes. Dit project bouwt ook voort op het gebruik van door de gebruiker ingevoerde gegevens. Het kan een relatief eenvoudig spel zijn , maar als u dit wilt ombouwen tot een enorm, complex woord, wordt de codering aanzienlijk moeilijker, vooral als u wilt dat uw gebruiker begint te communiceren met daadwerkelijke objecten in het spel. Die complexiteit kan groot zijn, als u dat wilt maak er een langetermijnproject van. * Tip hint.
5. Hangman
Het doel: Ondanks de naam is het eigenlijke “galgje” -gedeelte niet nodig. Het belangrijkste doel hier is om een soort “raad het woord” -spel te maken. De gebruiker moet in staat zijn om lettergissingen in te voeren. Er moet ook een limiet worden ingesteld voor het aantal gissingen dat ze kunnen gebruiken. Dit betekent dat je een manier nodig hebt om een woord te pakken om te raden. (Dit kan uit een vooraf gemaakte lijst worden gehaald. Je hoeft niet te chique te worden.) Je hebt ook functies nodig om te controleren of de gebruiker daadwerkelijk een enkele letter heeft ingevoerd, om te controleren of de ingevoerde letter bevindt zich in het verborgen woord (en als dat zo is, hoe vaak het voorkomt) om letters af te drukken, en een tellervariabele om gissingen te beperken.
Concepten om in gedachten te houden:
- Willekeurig
- Variabelen
- Booleaans
- Invoer en uitvoer
- Geheel getal
- Teken
- String
- Lengte
- Afdrukken
Waarschijnlijk het meest complexe project op deze lijst (nou ja, afhankelijk van hoe intens je met de avontuurlijke tekstgame), compileert het Hangman-project de eerdere concepten en gaat ze een stap verder. Hier zijn de resultaten niet alleen ned gebaseerd op door de gebruiker ingevoerde gegevens, moeten die gegevens worden geparseerd, vergeleken en vervolgens worden geaccepteerd of afgewezen. Als je dit project een stap verder wilt brengen, stel dan een beul-afbeelding in die verandert!
Over de auteur
Shelly Tan
Undergraduate Fellow
Getagd