Kihagyás

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

Példa bemenet
Add meg az 1. nevet: alma
Add meg az 2. nevet: barack
Add meg az 3. nevet: narancs
Add meg az 4. nevet: szilva
Add meg az 5. nevet: eper
Példa kimenet
['alma', 'barack', 'eper', 'narancs', 'szilva']

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

Példa bemenet
Add meg az 1. tanuló jegyét: 5
Add meg az 2. tanuló jegyét: 4
Add meg az 3. tanuló jegyét: 3
Add meg az 4. tanuló jegyét: 2
Add meg az 5. tanuló jegyét: 5
Példa kimenet
Az osztály átlaga: 3.8

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

Példa kimenet
Az osztály átlaga: 3.8
Tanulók jegyei növekvő sorrendben: [2, 3, 4, 5, 5]
Tanulók jegyei csökkenő sorrendben: [5, 5, 4, 3, 2]

Legjobb és legrosszabb jegy

Módosítsd a programot úgy, hogy az osztály átlaga mellett kiírja a legjobb és legrosszabb jegyet is!

Példa

Példa kimenet
Az osztály átlaga: 3.8
Legjobb jegy: 5
Legrosszabb jegy: 2

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

Példa bemenet
Január: 8000
Február: 7000
Március: 6000
Április: 5000
Május: 4000
Június: 3000
Július: 2000
Augusztus: 1000
Szeptember: 2000
Október: 3000
November: 4000
December: 5000
Példa kimenet
Az éves rezsi költség: 50000
Átlagos havi rezsi költség: 4166.666666666667
A maximum havi rezsi költség: 8000
A minimum havi rezsi költség: 1000

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

Add meg az 1. termék árát: 10000
Add meg az 2. termék árát: 20000
Add meg az 3. termék árát: 30000
Add meg az 4. termék árát: 40000
Add meg az 5. termék árát: 50000

Eredeti árak: [10000, 20000, 30000, 40000, 50000]
Az akciós árak: [7000, 14000, 21000, 28000, 35000]

Az akciós átlagár: 21000

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

Példa bemenet
Add meg a 1. könyv címét: Gyűrűk Ura
Könyv kölcsönzési ideje: 12
Add meg a 2. könyv címét: Harry Potter
Könyv kölcsönzési ideje: 7
...
Példa kimenet
Leghosszabb kölcsönzési idő: 12 nap
Legrövidebb kölcsönzési idő: 5 nap

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

Példa
Input: 'Python4Life!!!'
Return: {'betu': 10, 'szamjegy': 1, 'egyeb': 3}

Input: '12345'
Return: {'betu': 0, 'szamjegy': 5, 'egyeb': 0}

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).

Példa
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.