Egy automatikus meteorológiai állomás naponta rögzíti a mért hőmérsékleti adatokat egy szöveges fájlba. A fájl minden sora egy napot tartalmaz a következő formátumban:
30 nap adata (2024. június), pontosvesszővel elválasztva: dátum és napi maximum hőmérséklet (°C).
- Olvasd be a fájlt! Kezeld a
FileNotFoundErrorkivételt. - Írj függvényt, amely kiszámítja és visszaadja a minimum, maximum és átlag hőmérsékletet.
- Számold meg, hány napon haladta meg a hőmérséklet a 30 °C-ot (kánikula)! Listázd ki ezeket a napokat.
- Az eredményeket írd ki egy
eredmeny_01.txtfájlba, olvasható formában.
float(ertek) | min() / max() / sum() | lista szeletelés
# try/except FileNotFoundError
Egy iskolai újság szerkesztői szeretnék megtudni, melyek a leggyakrabban előforduló szavak egy cikkben. A szöveget egy szoveg.txt fájl tartalmazza.
Egy folyamatos magyar szöveg írásjelekkel, nagybetűkkel vegyesen.
- Olvasd be a szöveget! Távolítsd el az írásjeleket, és hozz létre kisbetűs szólistát.
- Szótár segítségével számold meg az egyes szavak előfordulásait! A 3 betűnél rövidebb szavakat hagyd figyelmen kívül.
- Rendezd a szótárat érték szerint csökkenő sorrendbe, és írd ki az 5 leggyakoribb szót és darabszámukat.
- Írd ki az összes egyedi szó számát és a feldolgozott szavak számát is.
szótár feltöltése ciklusban | sorted(d.items(), key=lambda x: x[1], reverse=True)
lista szeletelés [:5]
Az iskolai futóverseny időeredményeit egy verseny.txt fájlban tárolják mm:ss formátumban. A rendszernek el kell készítenie a ranglistát.
Soronként: versenyző neve és időeredménye pontosvesszővel elválasztva (pl. Kovács Péter;12:34).
- Olvass be minden versenyzőt a fájlból! Az időt alakítsd másodpercbe (segédfüggvénnyel).
- Rendezd a versenyzőket idő szerint növekvő sorrendbe (legjobb időeredmény elöl).
- Írd ki a rangsort helyezésszámmal együtt! Az első 3 helyezésnél jelenjen meg az érem neve (Arany/Ezüst/Bronz).
- Számítsd ki és írd ki az átlagidőt, valamint a legjobb és leggyengébb idő különbségét.
- Mentsd el az eredményt fájlba (
eredmeny_03.txt).
sorted(lista, key=lambda x: x[2]) | enumerate(rangsor, start=1)
f-string formázás: {ido:">8"}
Julius Caesar óta az egyik legismertebb titkosítási módszer az ábécé betűinek eltolása. A programnak képesnek kell lennie szöveget titkosítani és visszafejteni, illetve egy mellékelt fájl tartalmát megfejteni.
ROT13 (eltolás = 13) módszerrel titkosított angol mondatok. Az írásjeleket és szóközöket a titkosítás nem érinti.
- Írj függvényt, amely egy karaktert eltol az ábécéban! Nagy- és kisbetűkre egyaránt működjön; az ábécé végén körkörösen folytassa (pl. 'z'+3='c').
- Írj függvényt, amely teljes szöveget titkosít vagy visszafejt, karakterenként alkalmazva az előző függvényt.
- A program kérdezze meg a felhasználótól, hogy titkosítani vagy visszafejteni szeretne-e, és mekkora az eltolás.
- Harmadik opcióként fejtse meg a
titkos.txttartalmát (eltolás = 13), és mentse el az eredményt.
körkörösen: (ord(c) - alap + eltolas) % 26 + alap
input() | int() konverzió + hibakezelés
Egy okos bevásárló alkalmazás fájlból olvassa be a vásárlási listát, összesíti a kiadásokat kategóriánként, megtalálja a legtöbbe kerülő terméket, és kedvezményt számít, ha a végösszeg meghalad egy határértéket.
Soronként: terméknév;kategória;mennyiség;egységár (pl. tej;élelmiszer;3;289).
- Olvasd be a fájlt! Tárold a termékeket listában, konvertáld a mennyiséget és az árat megfelelő típusra.
- Számítsd ki az összes tétel részösszegét (mennyiség × egységár), majd a teljes végösszeget.
- Szótár segítségével összesítsd a kiadásokat kategóriánként, és írd ki csökkenő sorrendben.
- Keresd meg a legtöbbe kerülő terméket (részösszeg alapján).
- Ha a végösszeg meghaladja az 5000 Ft-ot, alkalmazz 10% kedvezményt, és írd ki a megtakarítás összegét. Az eredményt mentsd fájlba.
sorted(d.items(), ..., reverse=True) | százalékszámítás
f-string: {ertek:,.0f} → ezres elválasztó, nincs tizedesjegy