KEZDŐ PYTHON SZAKKÖR

1. alkalom: bevezető - változók, műveletek, elágazás

Feladat:

Készítsünk programot, ami beolvassa, hogy hány fok van Celsiusban, és átváltja Kelvinbe!

Váltsuk át Fahrenheitbe is! (Nézzünk utána, az interneten, hogy hogyan kell!)

Készítsünk elágazást! Írjon ki különböző megállapításokat attól függően, hogy milyen meleg van!

Kód:

Az órán közösen elkészített kód letölthető.

Megjegyzés:

Az első órán a Online Python weboldalt használtuk.

2. alkalom: szöveg típus, elágazások begyakorlása

Feladat:

Készítsünk beszélgetős programot!

Találjunk ki egy témát és próbáljunk meg előre elképzelni egy beszélgetést! Készüljünk fel a lehetséges válaszokra.

Kód:

Az órán bemutatott példa program letölthető. Ezután mindenki önállóan dolgozott.

Megjegyzés:

Meséltem Elizáról, és ki is próbálta, aki szerette volna.

Arról is meséltem, hogy miért pont Eliza lett a program neve.

3. alkalom: float típus, math modul

Feladat:

Készítsünk programot, ami három számról eldönti, hogy lehetnek-e egy háromszög oldalai!

Ha lehetnek, akkor számítsuk ki a háromszög, kerületét, területét (Héron-képlet) és állapítsuk meg, hogy derékszögű-e! (Tfh a 3. ("c") oldal a leghosszabb.)

Kód:

Az órán közösen elkészített program letölthető.

Extra feladat a gyorsan elkészülőknek:

Mi van, ha nem a 3. szám a legnagyobb? Mit kell módosítani, hogy úgy is működjön?

4. alkalom: gyakorlás

Feladat:

Készítsük el a múlt órai program folytatásával a szuper-terület-számító-programunkat!

Az elején kérdezze meg, hogy minek a területét, kerületét szeretnéd kiszámítani, és választól függően adja meg a kivánt eredményeket!

Kód:

Az órán bemutatott példa program letölthető. Ezután mindenki önállóan dolgozott.

Megjegyzés:

A kör terület-kerület képletét és a pi-t még nem ismerik. Mesélni kell róla alaposan.

5. alkalom: random, %

Feladat:

Készítsünk kő-papír-olló játékot!

Először tippelsz te, azután a gép visszaszámol, és megmondja, hogy te nyertél, vagy a számítógép.

Kód:

Az órán bemutatott példa program letölthető. Ezután mindenki önállóan dolgozott.

Megjegyzés:

Nehézséget szokott okozni, hogy a véletlen számot nem elég kiírni, hanem egy változóba (vel) el kell menteni, ahhoz, hogy később meg tudjuk vizsgálni az értékét.

6. alkalom: lista

Feladat:

Készítsünk programot, ami egy előre feltöltött listából megmondja, hogy adott évben hány cm voltam.

Hányadik évben hány cm-t nőttem.

Kiírja a lista összes elemét.

Kód:

Az órán közösen elkészített program letölthető.

Megjegyzés:

Az óra elején mindenki megkapott egy cetlit, amire ráírta, hogy hány cm volt, amikor megszületett, amikor 1 éves volt, amikor 2....

Extra feladat lehet, hogy véletlen-edik születésnapon is kiírja a magasságot.

7. alkalom: for ciklus

Feladat:

Készítsünk programot, ami kiszámítja az n! értékét!

Készíts programot, ami kiszámítja 1-től n-ig a számok összegét!

Készítsünk programot, ami kiszámítja az n. Fibonacci-számot!

Kód:

Az órán elkészített program letölthető.

Megjegyzés:

Klasszikus hiba, hogy az első feladat lemásolása után csak a műveleti jelet változtatják meg szorzásról összeadásra, a kezdőértéket pedig változatlanul hagyják.

8. alkalom: for ciklus gyakorlása

Feladat:

Ezen az órán nem volt semmi új, csak gyakorlás. Mindenki önállóan oldotta meg a feladatokat, amiből az első négyet meg is beszéltük közösen. Ezekhez töltöttem fel megoldást is.

A kiadott feladatok és a megoldás is letölthető.

9. alkalom: maximum/minimum

Feladat:

Készítsünk programot, ami megmondja, hogy hány cm magas az osztályban a legalacsonyabb ember.

A különböző magasságértékek közül melyik a két legnagyobb?

Hányan egymagasak velem?

Hányan vannak 170 cm felett?

A feladatok elkészítése előtt töltsük fel a listánkat 50 elemmel, melyek a [150, 178] intervallumba esnek!

Kód:

Egy lehetséges megoldás megoldás letölthető.

10. alkalom: rendezés

Feladat:

Írjuk fel 1-15-ig a számokat egy-egy papírra! Rakjuk őket nagyság szerint növekvő sorrendbe. Ki hogy csinálta? Hány csere volt? Néztünk rendezés videókat:

Buborékos

Quick-sort

Beszéltünk a rendezés lépésszámáról.

Kód:

Azután írtunk mi is két rendezést.

11. alkalom: strip() és split()

Feladat:

Nemes Tihamér feladat - Balaton 2022. 1.kcs. 1.ford számítógépes feladat

A strip() és split() volt az újdonság. Programozástechnikai újdonság a listával indexelés. A feladat letölthető.

Kód:

Egy lehtséges megoldás.

12. alkalom: függvények

Feladat:

Nemes Tihamér feladat - Felmelegedés 2017. 1. kcs. 1. ford számítógéeps feladat

Függvényeket készítettünk és használtunk. A feladat letölthető.

Kód:

Egy lehetséges megoldás.

*************** Téli szünet ***************

13. alkalom: hatékonyság

Feladat:

Nemes Tihamér feladat - Üzletlánc 2016. 1. kcs. 1. ford számítógépes feladat

Beszéltünk a hatákonyságról. Melyik ciklus hányszor fut le? Hogy lehet, érdemes összevonni a ciklusokat. Az optimalizációról is szó esett, programozó ideje, gép ideje, mikor, mi a fontos.

Mivel újdonság nem volt, mindenki önállóan, vagy párban dolgozott.

A Nemes Tihamér feladat A., B., C., részét még négy alfeladattal kiegészítettem, hogy biztos senki ne unatkozzon. A feladat kép formátumban letölthető . Az eredeti feladatsor 4. feladatát használtam.

14. alkalom: szövegek

Ismerkedés (karakter és szöveg - ord() és chr() függvények, ASCII kódtábla)

Feladat:

Készítsunk programot, ami kisebetűs szóból nagybetűst csinál!

Készítsünk tevésítő programot, ami egy beírt szövegből tevenyelvet készít!

Inspirációként meghallgattuk Romhányi versét.

Készítettünk egy olyan programot is, ami egy szóról eldönti, hogy palindrom-e.

Kód:

A megoldás letölthető.

15. alkalom: Cézár kódolás

Feladat:

Készítsünk Cézárkódolásra alkalmas programot!

Elfogtunk egy titkos üzenetet ! Meg tudod fejteni?

Kód:

Egy lehetséges megoldás letölthető .

16. alkalom: A Python beépített függvényei

Feladat:

A beépített függvényekkel való ismerkedés után két Kódkupa feladatot készítettünk el, a Formula1-et és az Olvasóversenyt.

Kód:

A hivatalos megoldások a Kódkupa verseny oldalán elérhetők itt a Formula1 és itt az olvasóverseny.

17. alkalom: Kódkupa feladatok

Feladat és kód:

Oldjuk meg az ProgramPohár 2023-24 2. online forduló első három feladatát!

Első feladat és a hozzá tartozó hivatalos megoldás.

Második feladat és a hozzá tartozó hivatalos megoldás.

Harmadik feladat és a hozzá tartozó hivatalosmegoldás.

18. alkalom: Dict

Feladat:

Megismerkedtünk a pythonos dictionary-vel.

Ennek gyakorlására jó példa a Nemes Tihamér verseny 2018. 1. forduló. 1.kategóriájának számítógépes feladata.

Kód:

Egy lehetséges megoldás hozzá letölthető.

19. alkalom: Gyakorló feladat szöveggel

Feladat:

Készítsük el a Kódkupa isogram feladatát!

Kód:

Egy lehetséges megoldás itt letölthető, a hivatalos pedig itt.

20. alkalom: in operator és halmazműveletek (metszet, unió, különbség)

Feladat:

Az interneten megtalálható a Gólyatáborok (2022, 2023) csoportvezetőinek névsora. Listává alakítottam mindkettőt, a kényelmesebb feldolgozás érdekében és innen letölthető.

Segítsünk dökösöknek az alábbi feladatok megoldásában.

Kód:

Egy lehetséges megvalósítás letölthető.

21. alkalom: gyakorló feladat a múlt órai anyaghoz, mert sokan hiányoztak az előző órán.

Feladat:

Andris és Brigi összeírják, hogy milyen mesefigurákat ismernek. Ezeket megtalálod egy-egy listában. Mindkét listában nagyon sok szereplő van, ezért programot kell írni, hogy meg tudjuk állapítani, hogy :
  1. Kik azok a mesehősök, akiket mindketten ismernek!
  2. Készítsünk egy listát, amiben azok vannak benne, amit csak az egyikük ismert!
  3. Készítsünk egy olyan listát, amiben minden mesehős benne van, de figyeljünk, hogy egyik se kerüljön bele többször!
A szükséges adatok letölthetők.

A feladat szövege és a segítség pedig itt érhető el.

A megoldás ugyanaz, mint az előző órán.

22. alkalom: listák listája

Feladat:

Egy listbán tároljuk az osztályba járók adatait, mégpedig úgy, hogy minden gyerekhez tartozik egy lista. Az osztály pedig ezen listák listája lesz.

A mezők: név (szöveg), fiú? (logikai), óraszám (egész), irányítószám (szöveg), fotós-e? (logikai), születési évszám (egész).

Az adatok és az öt feladat letölthető.

Kód:

Egy lehetséges megoldás itt található.

23. alkalom: Dictionary és DateTime

Feladat:

A múlt órai listák listája feladatban most a "belső" listák helyett dictionary van. Így a kód kényelmesebben olvasható lesz, de meg kell jegyezni, hogy több helyet foglal el. A Python dict típusáról itt olvashatunk.

Az óra második felében a DateTime modullal kezdtünk ismerkedni. Bővebben W3Schools oldalán érdemes utánanézin.

A feladat itt letölthető.

Kód:

Egy megoldás is elérhető.

24. alkalom: DateTime gyakorlása

Feladat:

A múlt órai feladatot egészítettem ki újabb DateTime-ot használó feladatokkal.

A modulról itt tudjuk meg, ami a feladat megoldásához szükséges.

25. alkalom: Rendezés

Feladat:

Az előző órai adatokat használva rendezzük a feladatnak megfelelően.

Az első feladatokat közösen oldottuk meg, a feladatsor második felét önállóan.

Kód:

Egy lehetésges megoldás.

26. alkalom: Egy érettségi feladat megoldása: Robot

Feladat:

Oldjunk meg egy érettségi feladatot.

27. alkalom: Egy érettségi feladat megoldása: TAJ

Feladat:

Oldjunk meg még egy érettségi faladatot.

28. alkalom: Nézzük meg, hogyan old meg feladatot az AI.

Feladat:

Keressünk egy ProgramPohár feladatot és kérjük meg az OpenAi-t, vagy a Copilot-ot, vagy a Google AI-t, hogy oldja meg nekünk.

Kérlek, segíts nekem és jelezd, ha hibát talász, vagy valami nem működik megfelelően az oldalon! Előre is köszönöm! 🐍