Etter at Shelly skrev dette innlegget, meldte Webucator, et selskap som tilbyr Python-opplæring, seg frivillig til å lage løsninger for disse prosjektene. De har laget en serie videoer som hjelper deg hvis du trenger det.
Å lære et nytt programmeringsspråk er både den mest spennende og den mest ydmyke opplevelsen. For meg har det språket nylig vært Python, som jeg har lært de siste månedene. Og som alle kodere vet, er den beste måten å lære et språk å bruke det i et prosjekt. Men hva skjer når du ikke har et gigantisk, ambisiøst prosjekt? For meg er det der sandkassen kommer inn. Hvorfor ikke bygge noen sandslott før du hoper opp steinene til vårt storslåtte slott?
Med det i tankene er det fem mini-programmeringsprosjekter for å komme i gang om å lære Python. De eksakte løsningene er ikke her – det er her den viktigste læringen spiller inn – men det er hint om konseptene du bør bruke. Og husk at Google er din venn!
1. Dice Rolling Simulator
Målet: Som tittelen antyder, innebærer dette prosjektet å skrive et program som simulerer terningkast. Når programmet kjører, vil det tilfeldig velge et tall mellom 1 og 6. (Eller hvilket annet heltall du foretrekker – antall sider på matrisen er opp til deg.) Programmet vil skrive ut hva dette tallet er. Det bør da spørre deg om du vil rulle igjen. For dette prosjektet må du angi min og maks antall som terningene dine kan produsere. For gjennomsnittlig terning betyr det minimum 1 og maksimalt 6. Du vil også ha en funksjon som tilfeldig griper et tall innenfor det området og skriver det ut.
Konsepter å huske på:
- Tilfeldig
- Heltall
- Skriv ut
- While Loops
Et godt prosjekt for nybegynnere , Dette prosjektet vil bidra til å etablere et solid grunnlag for grunnleggende konsepter. Og hvis du allerede har programmeringserfaring, er sjansen stor for at konseptene som brukes i dette prosjektet ikke er helt fremmed for deg. Utskrift ligner for eksempel på Javascript’s console.log.
2. Gjett tallet
Målet: I likhet med det første prosjektet bruker dette prosjektet også den tilfeldige modulen i Python. Programmet vil først tilfeldig generere et tall som er ukjent for brukeren. Brukeren må gjette hva tallet er. (Med andre ord må brukeren kunne legge inn informasjon.) Hvis brukerens gjetning er feil, skal programmet returnere en slags indikasjon på hvor galt (f.eks. Tallet er for høyt eller for lavt). Hvis brukeren gjetter riktig, skal det vises en positiv indikasjon. Du trenger funksjoner for å sjekke om brukerinntastingen er et faktisk tall, for å se forskjellen mellom det innlagte tallet og de tilfeldig genererte tallene, og for deretter å sammenligne tallene.
Konsepter å huske på:
- Tilfeldig funksjon
- Variabler
- Heltall
- Inngang / utdata
- Skriv ut
- Mens loops
- If / Else statements
Hopp over det første prosjektet, fortsetter dette prosjektet med å bygge opp basiskunnskapen og introduserer brukerinndata data helt enkleste. Med brukerinngang begynner vi å komme inn i litt variasjon.
3. Mad Libs Generator
The Goal: Inspirert av Summer Son’s Mad Libs-prosjekt med Javascript. Programmet vil først be brukeren om en serie innganger a la Mad Libs. For eksempel et entall substantiv, et adjektiv osv. Så når all informasjonen er lagt inn, tar programmet dataene og plasserer dem i en forhåndsinnstilt historiemal. Du trenger instruksjoner for brukerinngang, og for så å skrive ut hele historien til slutt med inndata inkludert.
Konsepter å huske på:
- Strenger
- Variabler
- Sammenslåing
- Skriv ut
Et ganske morsomt startprosjekt som får deg til å tenke på hvordan du kan manipulere brukerinndata. Sammenlignet med tidligere prosjekter, fokuserer dette prosjektet mye mer på strenger og sammenkobling. Ha det gøy å komme med noen sprø historier for dette!
4. TextBased Adventure Game
Målet: Husk eventyr? Vel, vi skal bygge en mer grunnleggende versjon av det. Et komplett tekstspill, programmet lar brukerne bevege seg gjennom rom basert på brukerinntasting og få beskrivelser av hvert rom. For å opprette dette må du etablere retningen som brukeren kan bevege seg i, en måte å spore hvor langt brukeren har beveget seg (og dermed hvilket rom han / hun er i), og å skrive ut en beskrivelse. Du må også sette grenser for hvor langt brukeren kan bevege seg. Lag med andre ord «vegger» rundt rommene som forteller brukeren: «Du kan ikke bevege deg lenger i denne retningen.”
Konsepter å huske på:
- Strenger
- Variabler
- Input / Output
- If / Else Statements
- Skriv ut
- Liste
- Heltall
De vanskelige delene her vil innebære å sette opp instruksjonene og holde oversikt over hvor langt brukeren har «gått» i spillet. Jeg foreslår at du holder meg til noen få grunnleggende beskrivelser eller rom, kanskje høyst 6. Dette prosjektet fortsetter også å bygge videre på brukerinputte data. Det kan være et relativt grunnleggende spill , men hvis du vil bygge dette inn i et stort, komplekst ord, vil kodingen bli betydelig vanskeligere, spesielt hvis du vil at brukeren skal begynne å samhandle med faktiske objekter i spillet. Den kompleksiteten kan være stor, hvis du vil gjør dette til et langsiktig prosjekt. * Hint hint.
5. Hangman
Målet: Til tross for navnet er ikke den faktiske «hangman» -delen nødvendig. Hovedmålet her er å lage et slags «gjett ord» -spill. Brukeren må kunne legge inn bokstavgissinger. Det bør også settes en grense for hvor mange gjetninger de kan bruke. Dette betyr at du trenger en måte å ta et ord å bruke for å gjette. (Dette kan hentes fra en forhåndslaget liste. Ingen grunn til å bli for fancy.) Du trenger også funksjoner for å sjekke om brukeren faktisk har lagt inn en enkelt bokstav, for å sjekke om inngående bokstav er i det skjulte ordet (og hvis det er, hvor mange ganger det vises), for å skrive ut bokstaver, og en motvariabel for å begrense gjetninger.
Konsepter å huske på:
- Tilfeldige
- Variabler
- Boolske
- Inngang og utgang
- Heltall
- Tegn
- Streng
- Lengde
- Skriv ut
Det sannsynligvis det mest komplekse prosjektet på denne listen (vel, avhengig av hvor intens du gikk med eventyrtekstspillet), samler Hangman-prosjektet de tidligere konseptene og tar dem et skritt videre. Her er resultatene ikke bare avgjørende ned basert på data fra brukeren, må disse dataene analyseres, sammenlignes og deretter godkjennes eller avvises. Hvis du vil ta dette prosjektet et skritt videre, kan du sette opp et hangman-bilde som endres!
Om forfatteren
Shelly Tan
Undergraduate Fellow
Merket