Author name: dr. Dobreff Csaba

Szükséges-e osztályok definiálásával foglalkozni?

Aki a Python alapjait már ismeri, annak nyelvi elemeivel már találkozott, tapasztalhatja, hogy nagyon sok beépített függvény áll rendelkezésre, valamint a saját igényeinkhez illeszkedő függvények is definiálhatók. E függvénydefiníciók változatos formában tehetők meg. Gondoljunk csak például a beágyazott függvényekre, a lambda függvényekre, a parciális függvényekre, dekorátorokra, valamint a generátor- és closure függvényekre. Ez utóbbiak ráadásul …

Szükséges-e osztályok definiálásával foglalkozni? Read More »

Hogyan definiáljunk saját sorozat típusú konténerobjektumot? – 3. rész

Az előző két bejegyzésben (itt és itt) sorozat típusú konténer egyéni osztályát definiáltuk, amely az alapvető kritériumok teljesítése mellett képes a szeletképzésre, valamint egy másik, ugyanilyen típusú sorozatkonténer elemeivel egy új, összefűzött sorozat előállítására. Az osztályunk így is használható, de maradt még egy műveletcsoport, amit érdemes lehet implementálni. Ez pedig nem más, mint az összehasonlító …

Hogyan definiáljunk saját sorozat típusú konténerobjektumot? – 3. rész Read More »

Hogyan definiáljunk saját sorozat típusú konténerobjektumot? – 2. rész

Az előző bejegyzésben sorozat típusú konténer egyéni igényekre szabott osztályát definiáltuk, amely a sorozat típusú konténerek alapvető kritériumait teljesíti. Most ezt az osztályt fejlesztjük tovább úgy, hogy képes legyen a szeletképzésre (slicing), valamint egy másik, ugyanilyen típusú sorozatkonténerrel való összefűzésre (concatenation). Ahogy az előző bejegyzésben említettük, a szeletképzés képességét a __getitem__ metódus megfelelő implementálásával lehet …

Hogyan definiáljunk saját sorozat típusú konténerobjektumot? – 2. rész Read More »

Hogyan definiáljunk saját sorozat típusú konténerobjektumot? – 1. rész

Az legutóbbi bejegyzésben sorozat típusú konténer elemeinek körkörös léptetéséről, más szóval forgatásáról volt szó, ahol több függvényt is készítettünk erre a célra. Ezek megvalósítása abban különbözött, hogy milyen előfeltételt kell, hogy teljesítsen az argumentumként átadott sorozat típusú konténer. Ilyen kritérium volt, hogy a sorozatobjektumra értelmezett-e a szeletképzés és az összefűzés művelete-e vagy sem, vagy hogy …

Hogyan definiáljunk saját sorozat típusú konténerobjektumot? – 1. rész Read More »

Hogyan „forgassuk” egy sorozat elemeit?

Az előző bejegyzésben, a naptár alkalmazás igényeink szerinti működéséhez szükség volt egy lista elemeinek forgatására. Egy sorozat típusú konténer elemeinek n-szeres forgatásán azt értjük, hogy az első n darab elem kikerül a sorozatból és a sorrendet megtartva a sorozat végére kerül. Ezt nevezzük balra forgatásnak, mert a sorozat elemei, az eredetihez képest balra tolódnak. Ennek …

Hogyan „forgassuk” egy sorozat elemeit? Read More »

Hogyan készítsünk egyszerű naptár alkalmazást?

Az előző néhány bejegyzésben táblázatba rendezhető adatok feldolgozásával és grafikus megjelenítésével foglalkoztunk. Először egyszerű mátrix létrehozása és ehhez alapműveletek definiálása volt a téma. Ezt követően készítettünk egy Sudoku, majd pedig egy Wordle játékot a táblázatos adatok és azok grafikus felhasználó felületen (GUI) történő megjelentésének valós alkalmazásban történő bemutatására. Láthattunk, hogy a rácsos elrendezés kirajzolása alapjaiban …

Hogyan készítsünk egyszerű naptár alkalmazást? Read More »

Wordle játék 2. – teljes GUI alkalmazás

Most folytatjuk az előző bejegyzésben elkezdett Wordle játék asztali változatának elkészítését. Először a játékot megjelenítő grafikus felületet gondoljuk át, és kódoljuk le a tkinter modul szolgáltatásait igénybe véve. A játékterület lényegében egy olyan táblázat megrajzolását igényli, amelynek 5 oszlopa és alapban 8 sora van, de ez utóbbi legyen beállítható. Ezt egy keret grafikus elemmel (Frame …

Wordle játék 2. – teljes GUI alkalmazás Read More »

Wordle játék 1. – szógenerálás és kiértékelési logika

Mi a Wordle, és hogyan kell játszani? A Wordle egy szókitalálós játék, amelynek leírását megtaláljuk a neten, sőt online ki is próbálhatjuk akár az angol akár a magyar változatot. Ettől függetlenül a program megírásához összefoglaljuk most a szabályokat. A játék lényege, hogy egy 5 betűből álló rejtett szót kell kitalálni adott lépésszámból. Az eredeti angol …

Wordle játék 1. – szógenerálás és kiértékelési logika Read More »

Sudoku megoldó grafikus felhasználói felülettel (GUI)

Az előző bejegyzésben néhány függvényt definiáltunk és használtuk egy sudoku játékot megoldó program előállítására. Most e programot kicsit látványosabbá tesszük azzal, hogy a sudoku táblázatot grafikus felülettel jelenítjük meg a tkinter modult használva. A programunk készítésének elve és fő részei a következők: A számok cellakeretekben történő kiíratására több lehetőség van. Mivel a programunkat most csak …

Sudoku megoldó grafikus felhasználói felülettel (GUI) Read More »

Sudoku megoldó program

Az előző bejegyzésben mátrixok előállításáról és ezekkel kapcsolatos műveletek végző függvények készítéséről volt szó. Most alkalmazási példaként a sudoku játékot megoldó programot írunk. Bár a sudokut vélhetően mindenki ismeri, de a feladatspecifikációhoz most röviden összefoglaljuk. A sudoku egy olyan logikai játék, melyben egy 9×9-es táblázat van 9 darab 3×3-as résztáblázatra felosztva, és minden résztáblázatot a …

Sudoku megoldó program Read More »