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

<info9>

Tömbök

Gyakran előfordul, hogy sok, egyforma típusú információt szeretnénk tárolni egy programban, amikkel később akár együtt is szeretnénk majd dolgozni. Képzeljük el például, hogy szeretnénk letárolni a könyveinknek a címeit. Persze létrehozhatnánk mindegyiknek egy külön string változót, de így a végén 25 könyv 25 különböző nevű változóban lenne tárolva, amikkel nehéz dolgozni, nehéz köztük keresni, és társai.

A tömbök egy jó lehetőséget kínálnak egyforma, összetartozó adatok együtt tárolására, leginkább abban az esetben, ha előre tudjuk, hogy hány információt szeretnénk majd tárolni.

Tömbök létrehozása

Tömböt bármilyen adattípusú adatokból létrehozhatunk, és a nevükre is ugyanazok a megkötések vonatkoznak, mint amik a sima változókéra. A létrehozásban legfőbb különbség a két szögletes zárójel az adattípus után, ami mutatja, hogy jelenleg egy tömböt szeretnénk lérehozni egy önálló változó helyett.

Ha egy üres tömböt szeretnénk létrehozni, ami int-ekből áll, és 10 elemet tartalmaz, akkor azt megtehetjük például így:

int[] szamok = new int[10];

Az egyenlőségjel utáni kifejezésben a szögletes zárójelben található 10-es szám mutatja meg azt, hogy 10 elemet szeretnénk. Van azonban lehetőségünk úgy is létrehozni tömböt, hogy rögtön feltöltjük adatokkal - ez esetben az adatokat kapcsoszárójelben, vesszővel elválasztva sorolhatjuk fel így:

int[] jegyek = { 1 , 3 , 5 , 5 , 4 , 3 };

Ebben az esetben nem szükséges megadnunk külön az elemszámot, a C# magától látni fogja hogy hány elemet soroltunk fel, és annyi elemű tömböt hoz létre.

Elemek elérése

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

A tömbök elemeit elérhetjük indexeléssel. Ez azt jelenti, hogy a tömb neve után szögletes zárójelben meg kell adnunk, hogy hányadik sorszámú elemet szeretnénk elérni a tömbünkben, és innentől igazából használhatjuk az elemet úgy, mint egy önálló változót. Amire azonban figyelnünk kell, hogy A C# programnyelvben az elemek indexelése 0-val kezdődik, tehát az első elem sorszáma nem 1, hanem 0 lesz. Ha tehát a fentebbi jegyek tömbből szeretném megkapni a legelső osztályzatot, azt a jegyek[0] kifejezéssel érem el, míg a másodikat a jegyek[1]-gyel, [...] az utolsót pedig a jegyek[5] kifejezés fogja megadni.

A tömbök rendelkeznek egy speciális paraméterrel, az elemszámmal, amit a tömbneve.length kifejezéssel érünk el, ez megmutatja, hogy hány elem található az adott tömbben. Ha tehát például a fentebbi jegyek tömbnek megnézzük a hosszát, a jegyek.length értéke 6 lesz, mivel a tömb 6 jegyet tartalmaz. (ezek indexe - ne feledjük! - 0, 1, 2, 3, 4 és 5)

Tömbök bejárása for ciklussal

Ha szeretnénk egy tömb minden elemét megvizsgálni, kiíratni, vagy valami egyéb műveletet végezni velük, akkor általában egy for ciklust használunk. Ha szeretnénk a fentebb létrehozott jegyek tömb minden elemét kiíratni, azt így tehetjük meg:

int[] jegyek = { 1 , 3 , 5 }; for(int sorsz = 0; sorsz < jegyek.lengt; sorsz = sorsz + 1) { Console.WriteLine(jegyek[sorsz]); } [ { "steps": [0], "variables": [{"name":"jegyek","value":"[1, 3, 5]"}], "hint": "Létrehozunk egy listát, amely a jegyeket tartalmazza."}, { "steps": [4], "variables": [{"name":"jegyek","value":"[1, 3, 5]"}, {"name":"sorsz","value":"0"}], "hint": "A ciklus elindul, lefut az inicializáló kifejezés - létrehozzuk a sorsz változót, és az értékét 0-ra állítjuk."}, { "steps": [5], "variables": [{"name":"jegyek","value":"[1, 3, 5]"}, {"name":"sorsz","value":"0"}], "hint": "Megvizsgáljuk a feltételt - a sorszám (0) kisebb a tömb hosszánál (3), így a ciklusmag lefut."}, { "steps": [7, 1], "variables": [{"name":"jegyek","value":"[1, 3, 5]"}, {"name":"sorsz","value":"0"}, {"name":"jegyek[0]","value":"1"}], "hint": "Mivel a sorsz értéke 0, a jegyek tömb 0. elemét írjuk ki a konzolra, ami 1.", "console":"1"}, { "steps": [6], "variables": [{"name":"jegyek","value":"[1, 3, 5]"}, {"name":"sorsz","value":"1"}], "hint": "A léptető kifejzés a sorsz változót egyel megnöveli, így abban 1 lesz.", "console":"1"}, { "steps": [5], "variables": [{"name":"jegyek","value":"[1, 3, 5]"}, {"name":"sorsz","value":"1"}], "hint": "Megvizsgáljuk a feltételt - a sorszám (1) kisebb a tömb hosszánál (3), így a ciklusmag lefut.", "console":"1"}, { "steps": [7, 2], "variables": [{"name":"jegyek","value":"[1, 3, 5]"}, {"name":"sorsz","value":"1"}, {"name":"jegyek[1]","value":"3"}], "hint": "Mivel a sorsz értéke 1, a jegyek tömb 1. elemét is kiírjuk ki a konzolra, ami 3.", "console":"1\n3"}, { "steps": [6], "variables": [{"name":"jegyek","value":"[1, 3, 5]"}, {"name":"sorsz","value":"2"}], "hint": "A léptető kifejzés a sorsz változót egyel megnöveli, így abban 2 lesz.", "console":"1\n3"}, { "steps": [5], "variables": [{"name":"jegyek","value":"[1, 3, 5]"}, {"name":"sorsz","value":"2"}], "hint": "Megvizsgáljuk a feltételt - a sorszám (2) kisebb a tömb hosszánál (3), így a ciklusmag lefut.","console":"1\n3"}, { "steps": [7, 3], "variables": [{"name":"jegyek","value":"[1, 3, 5]"}, {"name":"sorsz","value":"2"}, {"name":"jegyek[2]","value":"5"}], "hint": "Mivel a sorsz értéke 2, a jegyek tömb 2. elemét is kiírjuk ki a konzolra, ami 5.", "console":"1\n3\n5"}, { "steps": [6], "variables": [{"name":"jegyek","value":"[1, 3, 5]"}, {"name":"sorsz","value":"3"}], "hint": "A léptető kifejzés a sorsz változót egyel megnöveli, így abban 3 lesz.", "console":"1\n3\n5"}, { "steps": [5], "variables": [{"name":"jegyek","value":"[1, 3, 5]"}, {"name":"sorsz","value":"3"}], "hint": "Megvizsgáljuk a feltételt - a sorszám már (3) NEM kisebb a tömb hosszánál (3), így a ciklus véget ér.","console":"1\n3\n5"} ]