Odličan izbor! Postoji puno razloga zbog kojih učenje Python-a postaje sve popularnije, ali za decu je Python odličan programski jezik sa kojim će početi da uče da kodiraju. Python je moćan, lako čitlјiv programski jezik visokog nivoa. To znači da se naredbe čitaju poput engleskih reči umesto komplikovanih 0 i 1 i to deci olakšava učenje Python-a bez puno iskustva. Ovaj Python tutorial za decu će pomoći roditelјima i nastavnicima da deca nauče Python.
Još niste sasvim spremni za Python? Pogledajte naš najbolji vodič kodiranja za decu da naučite kako tačno da počnete da podučavate svoju decu da kodiranju.
Šta je Python?
Ako ste potpuno novi u računarskom programiranju, možda se pitate šta je Python. Python je programski jezik. Jezici programiranja su jednostavan poseban način davanja računaru niz uputstava za izvršenje. Verovatno ste upoznati sa nekim od najčešćih programskih jezika kao što su Java ili PHP. Učenje Python-a postaje sve popularnije i nedavno je Python naveden kao jedan od 10 najbolјih programskih jezika koje treba znati u 2019. godini. U stvari, zato je podučavanje Python programiranja za decu postalo toliko popularno. Python je programski jezik koji pruža stvarne veštine za budućnost. Koristi se za razvoj softvera i aplikacija u različitim podešavanjima. Mnogi računarski programeri uživaju u upotrebi Python-a, jer je lagan za čitanje i dostupan čak i početnicima.
Zašto je Python odličan izbor za decu?
Da li je Python lak za učenje? Da! Komande i sintaksa (pravila o načinu na koji kod mora da se postavi) u Python-u su relativno jednostavni u poređenju s nekim drugim programskim jezicima. Ovo čini Python za decu lakšim za početak, čak i bez iskustva u kodiranju. Druga sjajna karakteristika kada se trudimo da kreiramo python vežbe za decu je ta što Python ima širok spektar biblioteka koje možemo da uvozimo kad god nam treba određena funkcija. Ova modularna funkcija održava Python fleksibilnim i omogućava vam da koristite tuđe biblioteke kako biste lako sastavili neke zanimlјive (i zabavne!) početne projekte.
Kako mogu da pomognem mojoj deci da nauče Python?
Bez obzira da li ste učitelј ili roditelј, započeti sa decom da uče Python je prosto. Ovog puta ćemo prelistati nekoliko jednostavnih tutorijala za Python za decu zbog kojih će početak učenja Python-a za decu biti vrlo lak. U ovoj lekciji Python, mi ćemo pregledati vrlo jednostavne programske komande, tako da vi i vaši učenici možete da se upoznate sa načinom na koji Python funkcioniše i kako na kraju možemo da koristimo ovaj program za razvoj zabavnih igara i projekata za decu.
Ovaj MASIVNI Python za decu tutorial je podelјen u tri lekcije. Svaka od ovih lekcija Python-a za decu preispitaće neke osnovne koncepte kodiranja i primenjivaće naše znanje u učenju dece Python-u. Sadržaj dole možete da koristite za pomoć u kretanju kroz Python tutorijale tako da možete da idete tempom vašeg učenika.
Prvi Python tutorijal za decu: Sintaksa, petlјe i promenlјive
Koji će koncepti biti obuhvaćeni:
Danas ćemo istraživati i učiti o sledećim konceptima kodiranja:
- Sintaksa: Sintaksa je u osnovi ‘pravopis i gramatika’ računarskih programskih jezika. Kao što je možda teško razumeti englesku rečenicu bez pravilnog pisanja i gramatike, računar ne može da razume njihove komande ako nisu pravilno postavlјene. Sintaksa definiše pravilan način za raspored naredbi u programskim jezicima.
- Varijable: U računarskom programiranju promenlјiva je vrsta vrednosti koja može da se menja. U ovom vodiču za python istražićemo kako možemo da menjamo varijable u Python-u i kako će to uticati na ishod našeg programiranja.
- Petlјe: Petlјe sadrže skup uputstava koja se neprekidno ponavlјaju dok se ne ispune određeni skup uslova. U ovom tutorialu naučićemo da razumemo razliku između for petlјe i while petlјe
Kako otvoriti Python na vašem računaru:
Ako još nemate način da kodujete u Python-u i niste sigurni kako da počnete, lično volimo da koristimo Anaconda-u, koja uklјučuje Spyder program (takođe poznat kao IDE, integrisano razvojno okruženje).
Ili, ako tražite stvarno jednostavan način da odmah započnete sa Python-om, možete da koristite online Python IDE editor. Jednostavno otvorite ovu stranicu, https://repl.it/languages/Python3, i bićete spremni za početak odmah!
Python tutorijal za decu: Kreiranje FOR petlјe
Počnimo sa učenjem i razumevanjem promenlјivih i for petlјi pomoću range komande.
Jednom kada vi i vaš student otvorite Python editor, unesite ovaj tekst:
for x in range(1,6):
print (x)
i pokrenite program. Uverite se da li imaju indent u drugom redu!
Ovo je ono što bi trebalo da vidite:
1
2
3
4
5
>>>
Zatražite od svog učenika da protumači šta se dogodilo. Neka promene brojeve u range() metodu. (Metoda je samo naziv za Python komandu.) Šta se dešava kada postavite range na (1,3) a šta sa (1,100). Vaši učenici će uskoro shvatiti kako da sastave python listu brojeva unutar određenog range-a.
Cilјevi su da vaš učenik shvati ograničenja range metode (neće štampati poslednji broj, npr. 6), i da razume šta je promenlјiva.
Upravo smo kreirali for loop. Šta je for petlјa? Kao što smo ranije raspravlјali, petlјe se obično koriste u računarskom programiranju. Petlјe daju računarima set uputstava koja se neprestano ponavlјaju. U for petlјi, računar izvršava naredbu for određeni broj puta. U našem slučaju to je definisano range-om.
Takođe, naš program može da navede naše brojeve obrnutim redosledom. Neka vaši učenici unesu sledeci tekst:
for x in range(6,1,-1):
print (x)
Jeste li videli šta se tamo dogodilo? Sada možemo da koristimo ovu metodu da nam pomogne da kodiramo popularnu dečiju pesmu. Neka ucenici unesu sledeći tekst:
for x in range(5,0,-1):
print (x, ‘little monkeys jumping on the bed, 1 fell off and bumped his head, momma called the doctor and the doctor said, no more monkeys jumping on the bed’)
Trebali bi da vidite sledeće:
5 little monkeys jumping on the bed, 1 fell off and bumped his head, momma called the doctor and the doctor said, no more monkeys jumping on the bed
4 little monkeys jumping on the bed, 1 fell off and bumped his head, momma called the doctor and the doctor said, no more monkeys jumping on the bed
3 little monkeys jumping on the bed, 1 fell off and bumped his head, momma called the doctor and the doctor said, no more monkeys jumping on the bed
2 little monkeys jumping on the bed, 1 fell off and bumped his head, momma called the doctor and the doctor said, no more monkeys jumping on the bed
1 little monkeys jumping on the bed, 1 fell off and bumped his head, momma called the doctor and the doctor said, no more monkeys jumping on the bed
Python tutorijal za decu: Promenlјive
Hajde da se zabavimo sa promenlјivim u ovom kodu! U našem slučaju, promenlјiva u ovom kodu je x. Što se događa kada promjenlјivu varijablu x u prvom redu promijene u y? Da li to menja ako su obe promenlјive promenjene u y? Ako promene x u oba reda, umesto toga, reč RandomChickenVariable , da li će i dalјe da funkcioniše? To je užasno promenlјivo ime, ali da! Promenlјiva ne mora biti „x“ ili „y“, to može da bude bilo šta što odaberete.
Python tutorijal za decu: Stvaranje while petlјe
Idemo sada na razumevanje while petlјa. Za razliku for petlјi, koje se obično zaustavlјaju nakon određenog broja puta, while petlјe će se zaustaviti samo kad je ispunjen određeni uslov.
Neka unesu ovaj tekst:
x=0
while x is not 10:
x=x+1
print (x)
print(‘done!’)
Trebali bi da vidite sledeće:
1
2
3
4
5
6
7
8
9
10
done!
Neka opišu šta kod radi pomoću promenlјive reči i petlјe. U ovom primeru je x promenlјiva. x počinje sa 0 i povećava se za 1 svaki put kada se petlјa pokrene u skladu sa formulom x=x+1. Jednom kada je dostignut 10, ispunjen je uslov za završetak petlјe i petlјa je gotova. Tada ćete videti ‘done!’ štampano.
Poslednji kod koji smo pokrenuli bio je for petlјa – to se zove while petlјa. Petlјe su korisne jer mogu da kontrolišu naš napredak kroz naš kod; ‘done!’ se neće štampati dok petlјa ne prestane da radi.
Python tutorijal za decu: Značaj sintakse
Kao što smo prethodno napomenuli, Sintaksa je pravopis i gramatika računarskog programiranja. Računari će moći da izvršavaju komande samo ako im ih isporučimo na jeziku koji razumeju. Da biste pomogli vašem učeniku da shvati važnost sintakse u Python-u, kažite im da uklone indent u print x tako da izgleda ovako.
x=0
while x is not 10:
x=x+1
print (x)
print(‘done!’)
Neka se vaši učenici igraju sa kodom. Kada sa učenicima razgovarate o razlici između ove dve verzije, krajnji zaklјučak treba da bude da su granice petlјi definisane indent-ima ispod njihovog otvaranja linije „for“ ili „while“. Petlјa neće izvoditi nijedan kod ispod nedefinisane linije. Međutim, ako probate ovo:
x=0
while x is not 10:
x=x+1
print (x)
print(‘done!’)
kod neće funkcionisati uz poruku koja izgleda nešto nalik ovome:
File „<ipython-input-10-ebd4d8eb92d4>“, line 5
print(‘done!’)
^
IndentationError: unexpected indent
Primetili ste da Python ponekad pokušava da vam pomogne da vidite gde je vaša greška unošenjem karata ^ u poruku o grešci. Do ove greške dolazi zato što nema razloga da naredba print (‘done!’’) treba da se izvede. Ovo je greška u sintaksi. Računar ne može da razume komandu, jer su ‘pravopis i gramatika’ pogrešni.
Korisni savet: Ako se vaš program zaglavi, možete da pritisnete ctrl-c na tastaturi da biste otkazali program ili kliknite crveni kvadrat da biste zaustavili operaciju. Želite da vidite kako to izgleda? Pokrenite to sa svojim učenikom:
x=0
while x is not 10:
print (x)
x=x+1
Neka vam objasne zašto ovo ne radi. Odgovor je da vrednost pohranjena u x promenlјivoj nikada ne dostigne 10 unutar petlјe, tako da će zauvek raditi i nastaviti štampanje 0.
Python tutorijal za decu: Uvoz biblioteke
Naša poslednja vežba za ovu lekciju uklјučivaće upotrebu biblioteke koju smo ranije spomenuli. U ovoj vežbi pretvorićemo naš računar u digitalnu kockicu!
Unesite ovaj kod:
from random import randint
x = randint(1,4)
print(„dice roll:“)
print(x)
Biblioteka je random, a metoda koju koristimo iz nje je randint. Random je vrsta modula u Python-u koji nam omogućava nekoliko funkcija dostupnih za upotrebu.
.randint (x, y) je vrsta funkcije koja je dostupna kroz random. Ova funkcija uzima dva parametra (dve promenlјive x i y), izabraće slučajni broj između x i y, uklјučujući x i y. Možete da postavite x i y na bilo koje brojeve koje želite. U ovom primeru izabrali smo 1,6, baš kao kockice!
Da je bilo puno funkcija za koje smo znali da će da nam trebaju, možda bismo samo upisali import random – pokrićemo to neki drugi put!
Neka vaš učenik opiše šta radi kod. Nakon što završe gornji zadatak, možete sa njima da razmislite o drugim modifikacijama koje možete da izvršite, kao što su promena najmanjeg i maksimalnog broja koji mogu da budu proizvedeni ili da odlučite da se ponovo bacaju kockice samo ako je broj manji ili jednak broju pet.
Ovo bi moglo da izgleda ovako:
from random import randint
roll=randint(1, 6)
print(roll)
if roll < 5 :
repeat=roll
print(roll)
else:
print(„You lose“)
Rešavanje problema sa Python-om
Ako se vaš kod ne pokreće, uobičajene greške nalaze se u zagradama, zarezima i indent-ima ili nedostatku istih.
- Logičke izjave poput if, while i for trebaju da se njihovi redovi završavaju kolonom.
- For petlјe su na snazi samo za linije koje su indent ispod. Obavezno utvrdite da imate samo jedan indent više od petlјe for!
Rezime
Nakon ovih vežbi, vaši učenici sada imaju iskustvo rada sa promenlјivim, petlјama, logičkim izjavama i uvozom funkcija. Dobrodošli u Python!
Drugi Python tutorijal za decu: Sve o listama
Programiranje često ima puno reči koje zvuče zastrašujuće za decu koja uče python. Jedna važna stvar koju treba imati na umu dok proučavamo programiranje sa Python-om je da svaki problem može i treba da se razbije u više koraka. Ovo nam pomaže da napravimo čist kod koji drugi lјudi mogu bez razmišlјanja da čitaju. Sledeće lekcije uvode rad sa, editovanje i čuvanje podataka , što je samo fantastična reč za informaciju.
Koncepti pokriveni ovom prilikom:
- Tipovi podataka – postoji više tipova podataka koji su definisani u Python-u. Učićemo ih postepeno dok radimo sa sve više i više vrsta Python komandi!
- Liste – skup informacija određenim redosledom koji može da se promeni
Pravlјenje liste
Liste je lako stvoriti u Python-u. Jednostavno smo postavili niz odvojenih zarezima stavke između velikih zagrada. Spisak reči možemo da napravimo tako što ćemo upisati sledeće:
myList = [‘I’, „don’t“, „like“, „pickles“, „in“,“my“, „sandwiches“]
Ova akcija se naziva deklaracija u programiranju; upravo smo proglasili promenlјivu myList. Na ovoj listi se nalazi skup reči. Dva velike zagrade su važne za definisanje liste. Možemo da koristimo komande za pristup informacijama o listi i za editovanje podataka u listi.
Kako možemo da pristupimo informacijama sa liste?
Recimo da želimo neke osnovne informacije o ovoj listi. Koliko je dugačka? Koji je prvi deo podataka sačuvan? Šta kažete na poslednji? Koju vrstu podataka imamo u njemu? Sada ćemo da naučimo razne Python komande za pristup informacijama sa naše liste.
Dužina liste:
Ako želimo da saznamo dužinu naše liste, unosimo ovu komandu:
print (len(myList))
Trebali biste da vidite nešto što izgleda ovako:
>>> len(myList)
7
Rezultat ovoga je dužina vaših podataka.
Lista indeksiranja
Stavke na našoj listi su indeksirane tako da ih što lakše pronađemo. Možemo da koristimo indeks operator [] da pronađemo stavku na našoj listi. Da biste potražili prvi deo podataka, neka vaši učenici ukucaju u myList[1]. Šta primećuju? Da li je to ono što su očekivali?
>>> print (myList[1])
‘don’t’
Ono što će vaši učenici dobiti zauzvrat je “don’t” štampano. Pustite ih da eksperimentišu i pokušaju da dobiju “I” kao odgovor. Ispravan način je narediti konzoli za štampa myList [0]. To pokazuje vašim učenicima da su liste u Pythonu indeksirane počevši od 0. Indeksiranje izgleda ovako:
Šta se dešava kada pretražuju poslednji element liste? Neka vaši učenici shvate da će myList [7] izbaciti grešku. Razgovarajte sa njima da se to događa jer, iako je dužina liste 7, indeksiranje koje započinje sa 0 znači da je poslednji element u indeksu 6. Ovo bi u početku moglo da bude zbunjujuće, ali sa više prakse, vaši učenici će se brzo naviknuti na to!
Koje vrste podataka se čuvaju u listi?
Neka sada vaš učenik unese tip (myList). Ovo će vratiti nešto poput sledećeg:
>>> print (type(myList))
<class ‘list’>
Hm. To nije baš ono što smo želeli da pitamo. Želimo da znamo koja vrsta podataka se čuva unutar liste. Pokušajmo ovo:
>>> print (type(myList[1]))
<class ‘str’>
Ovo izgleda bolјe! ‘Str’ označava string. Stringovi su bitovi teksta; možete da kažete da je promenlјiva niz, kad ima jednostruke ili dvostruke navodnike oko sebe. Ako se osvrnete na vaše prethodne komande, videćete da smo objavili unose na listi myList-a za koje imamo citate oko njih.
Liste, stringovi i celi brojevi! Kako da ih razdvojimo?
Hajde da pogledajmo detalјno 3 različite vrste podataka: liste, stringove i cele brojeve.
Vaši učenici mogu da se igraju oko toga i postanu upoznatiji oko definicije još dve varijabile.
pickles = ‘I don’t like pickles in my sandwiches’
pickles2= [“ I don’t like pickles in my sandwiches”]
Neka izvršavaju komande type i len na svakom od njih i uporede ih sa rezultatima myList. Šta primećuju? Neka sami istražuju njihove varijable ako žele; deo zabave programiranja je to što možete lako da napravite test primere kako biste isprobali sve čudne ideje koje imate.
Evo šta dobijamo kada izvršavamo komande len na naše dve promenlјive:
>>> print (len(pickles))
37
>>> print (len(pickles2))
1
Evo šta dobijamo kada izvršavamo komande type na naše dve promenlјive:
>>> type(pickles)
<class ‘str’>
>>> type(pickles2)
<class ‘list’>
Na kraju, poenta je da je varijabila pickles niz, a ne lista. Velike zagrade definišu listu. Ova varijabila će imati dužinu od 37, jer funkcija len broji znakove u nizu. Sa druge strane, pickles2 je lista sa jednim elementom u sebi, okružena navodnicima, zbog čega ima dužinu jedan.
Do sada smo saznali za dve vrste podataka : liste i stringove . Zamolite vaše učenike da pogledaju informacije koje smo dobili sa Python konzole. Da li vide neku drugu vrstu podataka? Navodite ih da vide brojeve 1 i 39 i neka ukucaju type(39) i type(1). Rezultat int odgovora predstavlјa ceo broj, koji je bilo koji celi broj, negativan, pozitivan ili 0.
>>> type(39)
<class ‘int’>
Ekstra Izazov
Ako su vaši učenici zainteresovani, neka pokušaju da pristupe prvom slovu pickles string-a!
Pustite ih da pokušaju da pretpostave kako da to urade sa nagoveštajem: „to je slično načinu na koji pristupate informacijama na listi.“
Odgovor je pickles[0]. Koji tip podataka je pickles[0]? To je takođe string. Ispostavilo se da je string napravlјen od više manjih stringova!
Evo nekoliko primera kako možemo da pristupimo slovima u našem pickles stringu:
>>> pickles[0]
‘I’
>>> pickles[21]
‘i’
>>> pickles[14]
‘i’
>>> pickles[13]
‘p’
Vaši učenici uče o tome kako Python čuva podatke. Sada su videli tri vrste promenlјivih u Python-u: stringovi, celi brojevi i liste. Liste su u stanju da skladište informacije po određenom redosledu i indeksiraju se počevši od 0. To znači da će poslednje pohranjene informacije biti na mestu sa vrednosti jednom manjom od dužine.
Izmene lista
U nedavno završenim koracima smo videli da liste imaju:
- Indeksiranje koje počinje sa 0
- Ugrađeni atributi poput dužine
Sada ćemo da pogledamo postojeće komande i metode koje možemo da koristimo sa listama da izmenimo njihove informacije.
Vratimo se našoj listi za testiranje koju ćemo ponovo proglasiti kao:
myList = [„I“, „do not“, „like“, „pickles“, „in“,“my“, „sandwiches.“]
Pokušajmo da dodamo neke reči. Unesite sledeće komande:
myList.insert(4,“or“)
myList.insert(5,“tomatoes“)
Ukucajte u myList da biste ponovo pogledali sadržaj liste.
myList
Zamolite vaše učenike da opišu šta oni misle da se dogodilo. Ohrabrite ih da ponovo ukucaju komandu, ovaj put sa drugačijim brojem i drugom rečju. Šta se dešava? Da li je moguće da je broj prevelik? Neka eksperimentišu koliko žele.
>>> myList.insert(4,“or“)
>>> myList.insert(5,“tomatoes“)
>>> myList
[‘I’, ‘don’t’, ‘like’, ‘pickles’, ‘or’, ‘tomatoes’, ‘in’, ‘my’, ‘sandwiches’]
Napomena: Ohrabrujemo verbalne opise onoga što se dešava jer kada je deci (ili bilo kome zaista) dato sredstvo za upotrebu, lako je tek početi udarati i kucati stvari. Opisivanje koda rečima usporava naš mozak i dobar je korak u radu na postavlјanju logike iza svake linije koda.
Razumevanje parametara
Ovde, važni pojmovi koje treba da dodirnete sa vašim učenicima da su u zagradama dva termina. Sada možete da razgovarate sa vašim učenicima da se svaki od ovih termina naziva parametar u Python-u. Prvi parametar određuje indeks lokaciju na kojoj će drugi parametar biti ubačen. Drugi parametar, u ovom slučaju, ne mora nužno da bude string; kao što smo naučili na poslednjim lekcijama, lista može da sadrži različite vrste promenlјivih – ne moraju sve da budu iste!
Uklanjanje parametara
Još jedna naredba koju možemo da koristimo je remove(). Metoda uklanjanja uzima jedan parametar, što je vrednost unosa koji treba da se ukloni. Pod vrednostima podrazumevamo informacije pohranjene u svakom unosu na listi. Neka vaši učenici naprave kopiju liste upisivanjem
testList=myList
Neka uklone unos “don’t” iz test liste. Pustite ih da razmišlјaju i isprobavaju stvari – ako se zbune, podsetite ih na prethodne vežbe. Naredbe poput umetanja i uklanjanja modifikuju postojeće liste. Dakle, znamo da će naša naredba za uklanjanje izgledati kao testList.remove(). Takođe znamo da remove() metod treba parametar, jer u suprotnom ne bi znali koji unos sa liste treba da se ukloni!
Stoga je naša naredba kao rezultat
>>> testList.remove(„don’t“)
>>> testList
[‘I’, ‘like’, ‘pickles’, ‘or’, ‘tomatoes’, ‘in’, ‘my’, ‘sandwiches’]
>>>
Sada je pravo vreme da razgovaramo o važnom delu Python sintakse. Nakon toga uradićemo još neke vežbe sa izmenama lista.
Zagrade Protiv Valikih zagrada
Sada kada smo videli da nizovi imaju ugrađene funkcije poput indeksiranja i atributa kao dužine, vaši učenici su možda primetili da neke komande zahtevaju [velike zagrade], a druge (zagrade). Ovo je deo Python sintakse; sintaksa se odnosi na način na koji programski jezik koristi interpunkcijske znakove i razmake da organizuje svoj tok i rad.
Po pravilu, velike zagrade ukazuju na to da se podaci stvaraju ili im se pristupa. Jedan primer stvaranja podataka je deklaracija naše promenlјive myList. Jedan primer podataka kojima se pristupa je kada smo dobili prvi unos na listi upisivanjem u myList[0].
Pitanja za diskusiju koja će pomoći vašim učenicima da razumeju:
- Kako možete da kažete da je lista promenlјiva kada je kreirate?
- Šta se događa ako pokušamo da koristimo zagrade da napravimo listu?
- Šta koristimo kada na listi želimo da pristupimo određenoj indeks vrednosti?
Kao što smo raspravlјali prethodno, parametri su ulazi koje dajemo svakoj Python naredbi, iako nijsu svakoj naredbi potrebni parametri. Parametri idu u zagrade.
Pitanja za diskusiju/test vežbe koje će pomoći vašim učenicima da razumeju:
- Šta je parametar?
- Šta se dešava ako pokušavamo da koristimo velike zagrade umesto zagrada za komandu za promenu liste poput umetanja ili uklanjanja?
- Zašto mislite da je važno da postoji razlika između upotrebe velikih zagrada i upotrebe zagrada?
- Ovo je važan i veoma fundamentalni koncept! Razlika u velikim zagradama i zagradama je važna jer izbegava zabunu između toga da li programer daje naredbu ili traži informacije.
- Primer: ako imamo listA = [2,3,4,5], tada imamo unose u listi koji su brojevi. Da nema razlike između velikih zagrada i zagrada, remove(2) bi bilo zbunjujuće jer ne bismo mogli da kažemo da li želimo da uklonimo value 2 (u indeksu 0) ili value 4 (koja je u indeksu 2)
Rezime
Vaši učenici uče o načinu manipulacije varijabilama u Python-u; cenimo kodiranje jer može istovremeno da obrađuje velike količine podataka. Radeći sa listama vaši učenici uče kako da pristupe podacima pomoću unosa parametara i steknu važno osnovno znanje o sintaksi.
Treći Python tutorijal za decu: Hajde da napišemo priču!
Sada ćemo da koristimo naše nove Python veštine da napravimo nešto što je jedinstveno i svo samo naše! Hajde da napišemo priču u kojoj se imenice i pridevi menjaju svaki put kada stvaramo priču.
Započnite sa jednostavnom pričom
Evo primera šta ćemo raditi:
name1=“Anna“
adj1=“happy“
sentence1=name1+“ woke up in the morning feeling very „+adj1+“.“
print sentence1
Nakon pokretanja ovog koda, promenlјiva rečenica1 sada ima vrednost „Anna se probudila ujutro osećajući se veoma srećnom“. Promenlјive noun1 i adj1 su obe stringovi – tako je i rečenica 1. Međutim, rečenica 1 koristi noun1 i adj1 u okviru svoje vrednosti za kombinovanje stringova!
Kreirajte priču popunjavajući praznine
A sada zabavni deo! Sada možete da kreirate sopstvenu priču popunjavajućo praznine ili koristite našu da napravite smešnu priču koju će vaš razred voleti. Napišite varijable od četiri do pet rečenica koje ukupno koriste tri strings imenice, tri strings prideva i tri strings mesta.
Ili, ako želite, možete da koristite sledeće:
sentence1= „Last year, I went on a „+adj1+“ trip to „+place1+“.“
sentence2= „The weather there was „+adj2+“, and I couldn’t wait to eat a big „+noun1+“ while I was there.“
sentence3=“Next year, I want to go to „+place2+“, because I’ve always wanted to see the „+adj3+“ „+noun2+“.“
Primetili ste da moramo da uklјučimo razmake pre i nakon korištenja string varijabile! U suprotnom, reči će biti pomešane zajedno.
Ako odmah pokrenete ovaj kod, šta mislite šta će biti problem? Da li su promenlјive noun1, adj1, place1 i tako dalјe deklarisane? Nisu. Hajde da to učinimo sada.
Sada je vreme da se deklarišu naše promenlјive. Neka vaši učenici pronađu nasumični spisak imenica, mesta i prideva i nasumično ih izave u svakoj promenlјivoj.
Evo šta smo izabrali:
adj1=“smelly“
adj2=“silly“
adj3=“adorable“
place1=“Toronto“
place2=“Texas“
place3=“Mexico“
noun1=“chair“
noun2=“shoulder“
noun3=“statue“
Kada završite sa podešavanjem zadataka za svaku promenlјivu, kombinujte je sa rečenicama. Redosled kojim unosimo komande bitan je u Python-u, tako da ako prvo definišete svoje rečenice pre nego što dodate delove koda za dodelu random varijabala koje smo upravo završili, vaš kod će izbaciti grešku. Obavezno definišite sve svoje promenlјive pre nego što pokušate da ih koristite! Da biste na kraju ispisali sve svoje rečenice, možete da koristite naredbu za štampanje na sledeći način:
print sentence1,sentence2,sentence3
Evo kako izgleda konačni kod:
adj1=“smelly“
adj2=“silly“
adj3=“adorable“
place1=“Toronto“
place2=“Texas“
place3=“Mexico“
noun1=“chair“
noun2=“shoulder“
noun3=“statue“
sentence1= „Last year, I went on a „+adj1+“ trip to „+place1+“.“
sentence2= „The weather there was „+adj2+“, and I couldn’t wait to eat a big „+noun1+“ while I was there.“
sentence3=“Next year, I want to go to „+place2+“, because I’ve always wanted to see the „+adj3+“ „+noun2+“.“
print (sentence1,sentence2,sentence3)
Evo kako to izgleda kada pokrenete kod:
Last year, I went on a smelly trip to Toronto. The weather there was silly, and I couldn’t wait to eat a big chair while I was there. Next year, I want to go to Texas, because I’ve always wanted to see the adorable shoulder.
Sada promenimo priču svaki put kada pokrenemo kod
Gornja metoda je najjednostavniji način za pravlјenje priče popunjavanjem praznina pomoću Python-a. Međutim, želimo da stvorimo priču koja se menja svaki put kada pokrenemo kod. Želimo da naš program može da izabere nasumičnu imenicu, pridev ili mesto sa naše liste i automatski je smesti u našu priču.
Skladištenje promenlјivih u listi
Mogli bismo da proglasimo da adj1 uvek bude “Smelly”, ali tada se naša priča ne bi promenila svaki put kada pokrenemo naš kod. Želimo da izaberemo mnoštvo imena za našu priču! Hajde da uskladištimo opcije u listu.
adjList=[„wild“,“fluffy“,“hilarious“]
Sada, želimo nasumično da odaberemo koji će se pridevi dodeliti adj1, adj2 i adj3. Da li se sećate kako to da uradite? Ponovo ćemo da koristimo random biblioteku, vraćajući se na predavanja o brojevima.
Primer random kada je u upotrebi je sledeći:
from random import randint
roll=randint(1, 6)
print(roll)
Korišćenje random biblioteke za dobijanje random prideva
Kako možemo da koristimo randint metodu za dobijanje nasumičnog prideva? Razmislite o ovome neko vreme. Koji je tip promenlјive indeks liste? Kada imate ideju, pokušajte da napišete malo koda koji promenlјivim adj1, adj2 i adj3 dodelјuje random ime.
Kad budete spremni, uporedite vašu ideju sa ovim sledećim delom koda:
minindex=0
maxindex=len(adjList)-1
index1=randint(minindex,maxindex)
adj1=adjList[index1]
index2=randint(minindex,maxindex)
adj2=adjList[index2]
index3=randint(minindex,maxindex)
adj3=adjList[index3]
Pri pisanju ovog koda naš cilј bio je da generišemo random broj koji odgovara indeksu svakog prideva na listi mogućih prideva. Mi smo uradili to
- Definisanjem minimalnih i maksimalnih mogućih vrednosti indeksa (linije 1 i 2). Pošto indeksiranje počinje sa 0, najveći broj koji možemo da indeksiramo uvek je dužina liste minus 1.
- Definisanjem indeksa koji uzima random broj sa ovim minimalnim i maksimalnim vrednostima (linija 3)
- Skladištenjem prideva u ovom indeksu kao promenlјive koja se koristi (linija 4)
- Ponavlјajući ovo tri puta
Sada kada smo se pobrinuli za dodelu promenlјivih prideva, učinite isto sa ostalim promenlјivima! Želite da kreirate placeList i nounList i koristite randint metodu za odabir randomvarijabile iz vaše liste.
Sastavljanje svega toga
Jednom kad završite sa postavlјanjem random zadataka za svaku varijabilu, kombinujte je sa varijabilama vaše rečenice. Redosled kojim unosimo komande bitan je u Python-u, tako da ako prvo definišete svoje rečenice pre nego što dodate delove koda za dodelu random varijabila koje smo upravo završili, vaš će kod ispisati grešku. Obavezno definišite sve svoje promenlјive pre nego što pokušate da ih koristite!
Vaš konačni kod izgledaće otprilike ovako:
from random import randint
adjList=[„wild“,“fluffy“,“hilarious“]
placeList=[„Chicago“,“China“,“Brazil“]
nounList=[„telephone“, „karate“, „toilet“]
minindex=0
maxindex=len(adjList)-1
index1=randint(minindex,maxindex)
adj1=adjList[index1]
index2=randint(minindex,maxindex)
adj2=adjList[index2]
index3=randint(minindex,maxindex)
adj3=adjList[index3]
minindex=0
maxindex=len(placeList)-1
index1=randint(minindex,maxindex)
place1=placeList[index1]
index2=randint(minindex,maxindex)
place2=placeList[index2]
index3=randint(minindex,maxindex)
place3=placeList[index3]
minindex=0
maxindex=len(adjList)-1
index1=randint(minindex,maxindex)
noun1=nounList[index1]
index2=randint(minindex,maxindex)
noun2=nounList[index2]
index3=randint(minindex,maxindex)
noun3=nounList[index3]
sentence1= „Last year, I went on a „+adj1+“ trip to „+place1+“.“
sentence2= „The weather there was „+adj2+“, and I couldn’t wait to eat a big „+noun1+“ while I was there.“
sentence3=“Next year, I want to go to „+place2+“, because I’ve always wanted to see the „+adj3+“ „+noun2+“.“
print (sentence1,sentence2,sentence3)
Evo šta smo dobili kada mo prvi put pokrenuli kod:
Last year, I went on a fluffy trip to Brazil. The weather there was fluffy, and I couldn’t wait to eat a big telephone while I was there. Next year, I want to go to Brazil, because I’ve always wanted to see the hilarious karate.
A evo šta smo dobili drugi put kada sam pokrenuli ovaj kod:
Last year, I went on a hilarious trip to China. The weather there was fluffy, and I couldn’t wait to eat a big telephone while I was there. Next year, I want to go to Brazil, because I’ve always wanted to see the wild karate.
Kao što vidite, priča se menja svaki put kada pokrenete kod. Što više promenlјivih definišete, više opcija za vašuu priču i smešnije kombinacije možete da stvorite!
Nadam se da ste uživali u ovom Python vodiču za decu! Ovaj kratki vodič vam daje mali ukus jednog od najpopularnijih jezika za kodiranje za decu.