Author name: dr. Dobreff Csaba

Egyéni üzenetablakok készítése

A tkinter.messagebox almodul függvényei segítségével felugró üzenetablakokat hozhatunk létre. Attól függően, hogy a felhasználó felé tartalmilag milyen jellegű üzenetet kívánunk közölni, négy fő ablaktípust jeleníthetünk meg: tájékoztató, figyelmeztető, hibajelző és kérdésfeltevő. Ezen ablakok szerkezete, felépítése sok hasonlóságot mutat. Amiben eltérnek az az üzenetfajtához illő ikongrafika, valamint a nyomógombok száma és felirata. A showinfo(), showwarning(), showerror() …

Egyéni üzenetablakok készítése Read More »

Adatvesztést nem okozó takewhile-szerű iterátor előállítása

A szabványos könyvtár itertools moduljának takewhile() iterátora a második argumentumként megadott sorozat elemeit mindaddig kiadja, amíg az első argumentumként átadott függvény az elemekre meghívva True értéket eredményez. A takewhile() használatakor azonban megfontoltnak kell lenni; át kell gondolni, hogy az adott helyzetben alkalmazható-e. Ugyanis, amennyiben a sorozatelemeket szolgáltató argumentum egy iterátor, az az elem, amely először …

Adatvesztést nem okozó takewhile-szerű iterátor előállítása Read More »

Hogyan fordítsuk meg nagyméretű fájlok sorainak sorrendjét?

Bizonyos esetekben szükséges vagy előnyös lehet, hogy fájlban tárolt adatsorok sorrendjét a feldolgozásuk előtt megfordítsuk (a fájlba írt utolsó sort lehessen elsőként beolvasni). Ilyen igény merülhet fel például naplófájlok vagy más idősoros adatok (pl. tőzsdei árfolyamok) feldolgozásakor, amikor is a jelenhez időben közelebbi (de a fájlban az utolsók között szereplő) adatok érdekesebbek lehetnek, mint a …

Hogyan fordítsuk meg nagyméretű fájlok sorainak sorrendjét? Read More »

Hogyan határozzuk meg egy adott mátrixelem sor- és oszlopindexét?

Tegyük fel, hogy olyan adatokkal kell dolgozni, amelyek egy mátrixban reprezentálhatók, és a feldolgozás során többször is szükség van egy adott adat, azaz egy mátrixelem sor- és oszlopindexének meghatározására. Például táblázatos játéktérrel rendelkező játékok esetén egy bábu mozgatásához a programnak tudnia kell a bábu aktuális sor- és oszlopindexét (honnan mozdítjuk) és a cél sor- és …

Hogyan határozzuk meg egy adott mátrixelem sor- és oszlopindexét? Read More »

Hogyan számítsuk ki egy nem szabályos sokszög területét?

Sokszögek területszámítása témában legtöbbször szabályos sokszögek területének meghatározásával találkozhatunk. A nem szabályos sokszögek területének kiszámítására pedig többnyire annyi az utalás, hogy háromszögekre kell bontani, majd az egyes háromszögek területét kiszámolni például a Heron képlettel és ezeket összeadni. (A Heron képlet számítási pontosságkorlátairól lásd a „Tűszerű háromszögek területének számítása” című bejegyzést) E módszer lerajzolt sokszögeknél jól …

Hogyan számítsuk ki egy nem szabályos sokszög területét? Read More »

Honnan ered a tucat mint mértékegység, és miért 360 fok egy teljes kör középponti szöge?

A tucat mint mértékegység – azaz 12 darab valamiből – történelmi és gyakorlati okokból alakult ki.  Nagyon jól működött piacokon, vásárokban, mert mivel sok osztója van, könnyű volt részekre bontani. Például egy tucat tojást könnyű felezni (6), harmadolni (4), negyedelni (3) vagy akár hatodolni (2). Mindenképp praktikusabb volt, mint például a 10 (csak 2 és …

Honnan ered a tucat mint mértékegység, és miért 360 fok egy teljes kör középponti szöge? Read More »

Hogyan ellenőrizzük, hogy egy egész számokból álló sorozat számtani sorozatot alkot?

Számos esetben lehet szükség egy egész számokból álló sorozat feldolgozására. Az ilyen értékek nem ritkán számtani sorozat elemei lehetnek. Többek között ilyenek például egy Unicode blokk egymást követő kódpontjai, egy statisztikai adatsorban az évszámok, vagy akár a menetrendekben a percben mért indulási idők. A kérdés az, hogy ha van egy iterálható objektum, ami egész számokat …

Hogyan ellenőrizzük, hogy egy egész számokból álló sorozat számtani sorozatot alkot? Read More »

Grafikák készítése objektumokba foglalt, sokszögből előállított síkidomokkal

A korábbi bejegyzésekben többször foglalkoztunk azzal a kérdéskörrel, hogy a tkinter vászon (Canvas) grafikus elemén hogyan lehet egy pontot forgatni és tükrözni. Ezek elvi alapjait példákkal a „Hogyan forgassunk el egy adott pontot adott szöggel, adott forgáspont körül?” és „Hogyan valósítsuk meg egy pont tengelyes tükrözését?” korábbi cikkek tartalmazzák. Mindezt azért is tettük, mert a …

Grafikák készítése objektumokba foglalt, sokszögből előállított síkidomokkal Read More »

Négyszögfajták ellenőrzése

Az előző, „Sokszögek csúcspontjainak sorbarendezése a helyes megjelenítéshez” című bejegyzésben tárgyalt, a sokszögek csúcspontjait sorbarendező függvényt nem csak a sokszög megfelelő kirajzoltatásához lehet használni, hanem például olyan ellenőrzőfüggvények készítéséhez is, amelyekkel el lehet dönteni, hogy adott csúcspontok milyen fajta négyszöget (trapéz, deltoid, paralelogramma, rombusz, téglalap, négyzet) határoznak meg. Az ellenőrzéshez az egyes négyszögek geometriából ismert …

Négyszögfajták ellenőrzése Read More »

Sokszögek csúcspontjainak sorbarendezése a helyes megjelenítéshez

Ha a tkinter modult használva a grafikus felhasználói felületen sokszögeket akarunk kirajzoltatni a vászon (Canvas) create_polygon() metódusával, akkor nem mindegy, hogy a sokszög csúcspontjait, azok koordinátáit milyen sorrendben adjuk át annak. Ugyanis a csúcspontok összekötése a pontok felsorolási sorrendjében történik. Ha nem a megfelelő sorrendben adjuk meg a csúcspontokat, akkor a kirajzoláskor a sokszögben keresztező …

Sokszögek csúcspontjainak sorbarendezése a helyes megjelenítéshez Read More »