Feladatsor

Olvasd be a rendelesek.txt fájlt egy adatbazis nevű listába.

📥 Fájlok letöltése

🔒 Prémium előfizetéssel tekinthető meg | Előfizetés (3 990 Ft/hó)

📋 A beolvasott adatok mezői

A zárójelben lévő információk azt mutatják, hogyan kezeld őket a feldolgozás során.
Ne felejtsd el átalakítani a mezőket a megfelelő adattípusra, kivéve ahol a feladat azt írja, hogy ne.

  • x[0]: Rendelés ID (int)
  • x[1]: Vevő neve (str)
  • x[2]: Város (str)
  • x[3]: Kategória (str)
  • x[4]: Darabszám (int)
  • x[5]: Fizetendő összeg (float vagy "HIBÁS") (ne alakítsd át)
  • x[6]: Fizetési mód (str)
  • x[7]: Kiszállítva státusz (bool)
  • x[8]: Vevői értékelés 1.0–5.0 (float vagy "" ha hiányzik) (ne alakítsd át)
  • x[9]: Szállítási idő napokban (int, vagy -1 ha hibás)

⚙️ A metódusok működése és sorrendje (Példák):

  1. SZŰRÉS: Kiválogatjuk a megfelelő sorokat
    szurt_adatok = list(filter(lambda x: <FELTÉTEL>, adatbazis))
  2. RENDEZÉS: Sorba állítjuk a szűrt listát (reverse=True, ha csökkenő)
    rendezett_adatok = sorted(szurt_adatok, key=lambda x: <MI_ALAPJÁN>)
  3. MAP-ELÉS: Csak a kért oszlopokat tartjuk meg
    eredmeny = list(map(lambda x: <KÉRT_OSZLOPOK>, rendezett_adatok))

📖 Bevezető feladatok

1. Szűrd ki a már kiszállított (True) rendeléseket, rendezd őket darabszám szerint növekvő sorrendbe, majd szűkítsd a listát csak a Vevő nevére és a Darabszámra!

szurt_1 = list(filter(lambda x: x[7], adatbazis))
rendezett_1 = sorted(szurt_1, key=lambda x: x[4])
megoldas_1 = list(map(lambda x: [x[1], x[4]], rendezett_1))

Megoldás részletezése (olvasd el):

  • szurt_1 = list(filter(lambda x: x[7], adatbazis))
    • adatbazis: Az eredeti adathalmaz, amin a szűrést elvégezzük.
    • filter() függvény: Kiszűri a sorokat az első paraméterben adott feltétel szerint.
    • lambda x: x[7]: Az x[7] a Kiszállítva logikai értéke; ha True, megtartjuk.
    • list() konverzió: A szűrőobjektumból újra listát készít.
  • rendezett_1 = sorted(szurt_1, key=lambda x: x[4])
    • szurt_1: Csak a már kiszűrt elemeket rendezzük tovább.
    • key=lambda x: x[4]: A darabszám mező (4-es index) szerint rendez növekvő sorrendbe.
  • megoldas_1 = list(map(lambda x: [x[1], x[4]], rendezett_1))
    • map() függvény: Csak a megadott oszlopokat (Vevő neve: x[1], Darabszám: x[4]) tartja meg.

🚀 További feladatok és megoldások

Figyelj arra, hogy jelenleg néhány adatod stringként maradt eltárolva a listában (pl. hiányzó vagy hibás értékek miatt)!

1. Feladat: Szűrd ki az „Elektronika” kategóriájú rendeléseket, rendezd őket a Rendelés ID alapján csökkenő sorrendbe, és tartsd meg az ID-t, a Várost és a Fizetési módot!

👁️ Kattints ide a megoldás megtekintéséhez
szurt_1 = list(filter(lambda x: x[3] == "Elektronika", adatbazis))
rendezett_1 = sorted(szurt_1, key=lambda x: x[0], reverse=True)
megoldas_1 = list(map(lambda x: [x[0], x[2], x[6]], rendezett_1))

2. Feladat (Prémium): Szűrd ki azokat a rendeléseket, ahol legalább 5 darab terméket vásároltak, majd rendezd darabszám szerint csökkenőbe!

🔒 Prémium előfizetéssel tekinthető meg

💻 Interaktív Kódszerkesztő és Tesztelés

A feladatok teszteléséhez előkészítettünk egy kisebb tesztadatbázist. Írd meg alá a lekérdezést, és kattints a Futtatás gombra!

🔒 Prémium előfizetéssel tekinthető meg

🧠 Tudásellenőrző Kvíz

Teszteld a tudásodat a szűrés, rendezés és map metódusok együttes használatáról!

🔒 Prémium előfizetéssel tekinthető meg