Programozási feladatok - adatszerkezetek¶
Gyümölcsök¶
Kérj be 5 darab gyümölcsöt, majd rendezd őket ábécérendbe (A-Z), és írd ki a rendezett listát!
Példa
Osztályátlag¶
Kérj be egy osztály tanulóinak jegyeit, majd számold ki az osztály átlagát! Az osztályban 5-15 tanuló van, és minden tanuló jegye 1-5 közötti egész szám.
Példa
Sorrend¶
Módosítsd a programot úgy, hogy az osztály átlaga mellett kiírja a tanulók jegyeit is növekvő, valamint csökkenő sorrendben!
Példa
Legjobb és legrosszabb jegy¶
Módosítsd a programot úgy, hogy az osztály átlaga mellett kiírja a legjobb és legrosszabb jegyet is!
Rezsi költség¶
Kérj be egy háztartás összesített havi rezsi költségeit, majd számold ki a következőket:
- Az éves rezsi költség
- Az átlagos havi rezsi költség
- A maximum havi rezsi költség
- A minimum havi rezsi költség
Példa
Kiárusítás¶
Balázs a zsebpénzéből egy új mikrofont szeretne venni. Szerencséjére a kedvenc webshopja épp kiárusítást tart, így minden szórakoztató elektronikai termék akciósan vásárolható meg.
Írj egy programot, amely bekéri 5db termék árát, ezt tárold el egy listában! A program számolja ki az átlagárat, majd minden termékre alkalmazzon egy 30%-os kedvezményt! Az akciós árakat egy új listában tárold el, és írd ki a képernyőre!
Példa
Kölcsönzési rendszer¶
Készíts egy programot, amely kezeli egy könyvtár kölcsönzési rendszerét! Tárold el a kölcsönzött könyveket egy szótárban, ahol a kulcs a könyv címe, az érték pedig a kölcsönzött napok száma. A program kérje be a könyvek címeit és kölcsönzési idejüket (5 könyv esetén), majd számolja ki a leghosszabb és legrövidebb kölcsönzési időt!
Példa
Szövegelemzés¶
Írj egy szoveget_elemez
nevű függvényt, amely egy szöveget vár paraméterben! A függvény számolja meg, hogy a szövegben mennyi betű, számjegy és egyéb karakter szerepel, majd adja ezt vissza egy dictionary-ben, a példában látható formátumban!
Példa
Fájlok csoportosítása¶
Krisztián szeretne statisztikát készíteni a Dokumentumok mappájában található fájlokról, ezért egy Python szkriptet ír. A szkript feladata, hogy megszámolja, hogy az adott mappán belül mennyi található a különböző kiterjesztésekből. A program egy részét Krisztián már megírta, viszont a statisztika-készítésben kellene neki egy kis segítség.
Írj egy statisztika
nevű függvényt, amely egy listát kap paraméterül! A lista fájlok neveit tartalmazza, kiterjesztéssel együtt. A fájlnévben a kiterjesztés alatt a legutolsó pont karakter után lévő szöveget értjük. A függvény számolja meg, hogy az egyes kiterjesztések hányszor fordulnak elő a listában, és az eredményt adja vissza egy dictionary-ben, a példában látható formátumban!
A feladatot úgy oldd meg, hogy a kiterjesztés vizsgálata során ne különböztesd meg a kis- és nagybetűket (tehát pl. hello.py és WORLD.PY egyaránt py kiterjesztésűek).
Input: ['feladat.py', 'Bolygo.java', 'HELLOFRIENDS.MP4', 'TEST.PY', 'biro.gib.maxpont.py', 'russian-driving-fails.mp4']
Return: {'py': 3, 'java': 1, 'mp4': 2}
ZH¶
Lista alapok¶
A lista_alapok()
függvény első paramétere egy egész számokból álló lista, a második és harmadik paramétere két egész szám.
A függvény a listában lecseréli az első számokat a második számra, majd visszaadja az így kapott lista elemeinek az átlagát.
Az üres lista átlaga legyen 0.
1. példa
- Függvényargumentumok:
[8, -2, 5, 3], 5, 3
- Módosított lista:
[8, -2, 3, 3]
- Return:
3
2. példa
- Függvényargumentumok:
[4, 2, 5, 5, 2], 2, 0
- Módosított lista:
[4, 0, 5, 5, 0]
- Return:
2.8
Lista normál¶
A lista_normal()
függvény első paramétere egy egész számokból álló lista, a második és harmadik paramétere két egész szám. A függvény létrehoz egy másik listát, amely az első listában szereplő számok közül tartalmazza azokat, melyekre egyszerre igaz, hogy:
- határozottan nagyobb, mint a második paraméter
- határozottan kisebb, mint a harmadik paraméter
- páros az indexe
Az eredeti lista nem módosul, a függvény visszaadja az új listát.
1. példa
- Függvényargumentumok:
[8, 1, 4, 9, 5, 3, 6], 1, 6
- Return:
[4, 5]
Lista bonyolult¶
Egy két részből álló hidarulikus kar egyik fele 5, másik fele 3 centire tud kinyúlni. Ám sajnos elromlott, ezért a két rész kinyúlási távolsága periodikusan akadozik. Az automatika ugyan minden munkadarabnál teljesen kinyújtaná a kart, de a két fél rész külön-külön valami távolságban megakad, és nem nyúlik ki teljesen.
A hidraulika()
függvénynek két lista paramétere van, az első az első fél kar, a második a második fél kar aktuális kinyúlási hosszának a listája. Mindkettőt periodikusan kell alkalmazni. A harmadik paraméter egy szám, az elérendő munkadarab távolsága. A függvény visszaadja, hogy hanyadik próbálkozásnál éri el a kar a munkadarabot. Ha sosem éri el, akkor -1
-et ad vissza.
1. példa
- Függvényargumentumok:
[4, 1, 5], [1, 2, 1, 0], 7
- Visszatérési érték:
6
Jelölje az alábbi táblázatban \(p\) a próbálkozások számát:
\(p_1\) | \(p_2\) | \(p_3\) | \(p_4\) | \(p_5\) | \(p_6\) | \(p_7\) | |
---|---|---|---|---|---|---|---|
Első kar | 4 | 1 | 5 | 4 | 1 | 5 | 4 |
Második kar | 1 | 2 | 1 | 0 | 1 | 2 | 1 |
Összesen | 5 | 3 | 6 | 4 | 5 | 7 | 5 |
Azaz a hatodik próbálkozásnál éri el a munkadarabot. (Ez a táblázat tovább is mutatja az értékeket, de azokra az eredményekre már nincs szükségünk.)
2. példa
- Függvényargumentumok:
[4, 1], [1], 6
-
Visszatérési érték:
-1
-
Első kar:
4, 1, 4, 1, 4, 1, ...
- Második kar:
1, 1, 1, 1, 1, 1, ...
- Összesen:
5, 2, 5, 2, 5, 2, ...
- Azaz sosem éri el a munkadarabot.