Author name: dr. Dobreff Csaba

Hogyan daraboljunk fel egy sorozatot egyenlő méretű részekre a további feldolgozáshoz? – 2. rész

Ez a bejegyzés az előző, hasonló című folytatása, ezért annak ismerete nélkül nem biztos, hogy érthető lesz, ezért ha még nem tette, olvassa el azt először. Most tehát a célunk, hogy olyan függvényt állítsunk elő, amelynek argumentumként tetszőleges iterálható objektum adható át, és ennek adott hosszúságú, egymást követő részsorozatait adja ki. Ebben az esetben se …

Hogyan daraboljunk fel egy sorozatot egyenlő méretű részekre a további feldolgozáshoz? – 2. rész Read More »

Hogyan daraboljunk fel egy sorozatot egyenlő méretű részekre a további feldolgozáshoz? – 1. rész

Olykor szükség lehet arra, hogy egy sorozatot adott hosszú darabokként, egymást követő részsorozatokként dolgozzuk fel. Hétköznapi példa lehet, hogy egy gyári futószalagról folyamatosan jövő termékeket, mondjuk italokat hatosával gyűjtik egy dobozban, amit a boltokba kiszállítanak. Egy másik eset lehet, hogy a reptéren várakozó és haza igyekvő utasokat érkezési sorrendben reptéri minibuszokkal kilencesével tudják elszállítani, tehát …

Hogyan daraboljunk fel egy sorozatot egyenlő méretű részekre a további feldolgozáshoz? – 1. rész Read More »

Hogyan állapítsuk meg, hogy két szöveg anagramma-e?

Írjunk egy függvényt, amely az argumentumként kapott két karakterláncról megállapítja, hogy anagramma-e. Ha igen, akkor True, ha nem, akkor False értékkel tér vissza. A feladat hasonló, mint az előző, palindromokkal foglalkozó bejegyzésben, és nem véletlenül azt követi. Ugyanis itt is attól függ a megírandó függvény, hogy milyen tágan definiáljuk az anagrammát. Most legyen ez a …

Hogyan állapítsuk meg, hogy két szöveg anagramma-e? Read More »

Hogyan állapítsuk meg, hogy egy szó vagy szöveg palindrom-e?

Írjunk egy függvényt, amely az argumentumként kapott karakterláncról megállapítja, hogy palindrom-e. Ha igen, akkor True, ha nem, akkor False értékkel tér vissza. Ehhez először is tisztázni kell, hogy mi a palindrom. Nem csak azért, mert nem biztos, hogy mindenki ismeri ezt a szót, hanem azért, mert attól függ majd a függvényünk kódja, hogy milyen tágan …

Hogyan állapítsuk meg, hogy egy szó vagy szöveg palindrom-e? Read More »

Hogyan nyerjük ki egy szótár elemeit (kulcs-érték párjait), az értékek szerint rendezve?

Tegyük fel, hogy egy tornászcsapat tagjainak magasságértékei a nevükhöz rendelve egy szótárban állnak rendelkezésre. A tornászokat csökkenő magasság szerint tornasorba akarjuk állítani, vagyis úgy szeretnénk a szótár elemeit egymás után kinyerni, hogy a kiolvasási sorrend a magasság szerinti csökkenő sorrendet jelentse. Egy korábbi bejegyzésben már volt szó arról, hogy elviekben a szótár mint konténerobjektum vagy …

Hogyan nyerjük ki egy szótár elemeit (kulcs-érték párjait), az értékek szerint rendezve? Read More »

Zárójelek ellenőrzése if–elif nélkül

Írjunk egy függvényt, amely ellenőrzi, hogy egy megadott szövegben minden kerek nyitó zárójelhez tartozik-e ugyanannyi csukó zárójel, és hogy egyetlen csukó zárójel sem jelenik-e meg a hozzá tartozó nyitó párja előtt. A függvény True értékkel térjen vissza, ha ezek a feltételek teljesülnek, egyébként False értéket adjon vissza. Például az ‘f(x) és g(x)’ szövegben a zárójelezés …

Zárójelek ellenőrzése if–elif nélkül Read More »

Miért hasznos, hogy az objektumoknak van igazságértéke?

A Pythonban minden objektum rendelkezik logikai igaz vagy hamis értékkel. Ez azt jelenti, hogy bármely objektumra elvégezhető a logikai értékvizsgálat. Egy objektum logikai értékét közvetlenül úgy kérdezhetjük le, hogy a vizsgált objektumot a bool() konstruktor zárójelei közé írjuk, és ennek eredményeképpen True vagy False értéket kapunk. Alapértelmezésben minden objektum logikai igaz (True) értékkel rendelkezik. Ez …

Miért hasznos, hogy az objektumoknak van igazságértéke? Read More »

Hogyan előzzük meg a névütközéseket osztályok öröklése esetén?

Tegyük fel, hogy van egy készen kapott, banki számlát modellező, beimportált Account osztályunk, amelynek csak a leírását és nyilvános attribútumait ismerjük, de a belső megvalósítását nem. Ebből az osztályból egy példányt a számlaszám és az egy alkalommal történő pénzfelvétel maximális összegének megadásával hozhatunk létre. A példányra három metódust hívhatunk meg, amelyek lehetővé teszik összeg befizetését, …

Hogyan előzzük meg a névütközéseket osztályok öröklése esetén? Read More »

Miért futnak le az osztálydefiníció törzsének utasításai mielőtt példányt hoznánk létre belőle?

Az objektumok a logikailag összetartozó adatokat (amelyek az objektumok állapotát jellemzik), valamint az ezeken műveletet végző hívható objektumokat, azaz metódusokat összerendelik. Ezt hívják egységbe zárásnak (encapsulation). Az azonos típusú objektumoknál a metódusok azonosak, ezért megkülönböztetni egymástól az egyes példányokat az adatattribútumok eltérő értékei alapján lehet. Például a Háromszög típusú objektumok mindegyikére lehet definiálni egy azonos …

Miért futnak le az osztálydefiníció törzsének utasításai mielőtt példányt hoznánk létre belőle? Read More »

Hozzáférhet-e több closure függvény ugyanahhoz a körülzárt lokális változóhoz?

A rövid válasz, hogy igen. Már csak az a kérdés, hogy hogyan. Ez azért merül fel, mert amikor closure-ről van szó, általában egy körülzáró függvénybe (enclosing function) ágyazott egyetlen függvényre gondolunk, ami a körülzáró függvény visszatérési értéke lesz, és ami később a hívása helyén hozzáfér a körülzáró függvény lokális változóihoz. Azonban semmi nem korlátozza azt, …

Hozzáférhet-e több closure függvény ugyanahhoz a körülzárt lokális változóhoz? Read More »