Fájlok írása Pytonban!
Elkészült a Python nyelv Szövegfájlok írása tananyagunk! Jó tanulást, jó gyakorlást!

<info9>

Szövegek darabolása: a split

Elkélne a segítség?

Ha úgy érzed, hogy elakadtál, és több segítségre van szükséged, keress bizalommal! Kedvező árú magánórák keretében szívesen segítek elsajátítani a programozás alapjait.

Magánóra ajánlatok

Gyakran előfordul, főleg fájlból történő beolvasásnál, hogy olyan adatfájllal dolgozunk, amelynek egy sorában több különböző adat is van, például pontosvesszővel, szóközzel, vagy tabulátorral elválasztva. Nézzük mondjuk ezt a mintafájlt:

Kovács Péter;1999;170
Szabó András;1987;173
Tóth Noémi;2001;167
Szabados Petra;1998;177

Ebben a fájlban minden sorban 3 adat található:

Ahhoz, hogy ezeket az adatokat külön-külön is hasznosítani tudjuk, egy sor beolvasása után a benne található 3 információt szét kell vágnunk. Erre használhatjuk a szövegek split nevű metódusát. A split-nek egy darab kötelező paramétere van, egy karaktert, vagy szövegrészletet kell neki átadnunk, aminél szét szeretnénk szeletelni a szöveget. Végeredményként egy szövegekből álló listát ad vissza, annyi elemmel, ahány darab keletkezett. Nézzünk egy mintát:

sor = "Kovács Péter;1999;170"
darabok = sor.split(";")

A kódrészlet lefutása után a darabok listában 3 elem található:

darabok[0] = "Kovács Péter"
darabok[1]="1999"
darabok[2]="170"

Érdemes megjegyezni, hogy ezek a darabok - a tartalmuktól függetlenül - mind szöveg adattípussal rendelkeznek, ha tehát egy számként szeretnénk dolgozni velük, akkor át kell őket konvertálni a megfelelő konvertáló függvénnyel, például így:

szuletett = int(darabok[1])

Speciális karakterek

Előfordulhat olyan eset, hogy a splittel valamilyen speciális karakternél szeretnénk elvagdosni a szövegünket, például sortöréseknél, vagy tabulátoroknál. Ezeket a speciális karaktereket nem tudjuk csak úgy begépelni a kódba, mert akkor a kódunk nem fog megfelelően működni, helyette az alábbi speciális jelölőket kell használnunk:

Új sor: \n

Tabulátor: \t

Próbáld ki magad is! Nézd át a cikkünkhöz tartozó mintakódot - szerkeszd és futtasd közvetlenül a böngésződben, az info9 LineFlame fejlesztőeszközével!

Példa megnyitása

Próbáld ki!

Gyakorló feladatok

1. Feladat: Olvass be egy mondatot a konzolról, majd sorold fel a mondat szavait, egymás alá, azok sorszámával ellátva. Például:

Írj be egy mondatot: Nincs sok szabadidőm.
1. szó: Nincs
2. szó: sok
3. szó: szabadidőm.

Megoldom a laborban!

2. Feladat: Kérj be a felhasználótól egy időpontot óra:perc:másodperc formátumban (pl.: 12:30:41), majd számítsd ki, hogy ez az időpont a napnak hányadik másodperce! (azaz ha a felhasználó például a 00:01:05 időpontot írja be, a program kimenete: 65) Megoldom a laborban!

3. Feladat A bemenet változó egy szöveget tartalmaz (lásd lentebb), amelyben számok találhatóak, szóközzel elválasztva. Határozd meg a szövegben található számok összegét, majd írd ki az eredményt a konzolra! A munkád teszteléséhez használd például az alábbi adatsort:

bemenet = "3 12 9 5 4 1 7"

Nehezebb feladatokat keresel? A listák gyakorló feladatok között találhatsz több olyan feladatot is, amelyekben a split-et is alkalmazhatod! (Érdemes hozzájuk áttekinteni a fájl beolvasás tananyagunkat is)