Informatika2-2021/Sz¼tGyak10
(→write_csv) |
(→write_csv) |
||
(egy szerkesztő 8 közbeeső változata nincs mutatva) | |||
11. sor: | 11. sor: | ||
Aljas nyolcas,2015,Samuel L. Jackson<br> | Aljas nyolcas,2015,Samuel L. Jackson<br> | ||
'''masodik.csv''':<br> | '''masodik.csv''':<br> | ||
− | + | Csonka Bence<br> | |
Kombinatorika<br> | Kombinatorika<br> | ||
− | Ács | + | Ács Filozófus<br> |
− | + | ||
− | + | ||
== read_csv == | == read_csv == | ||
23. sor: | 21. sor: | ||
A függvény adja vissza listák listáját, amiben a listák a soroknak felelnek meg, az elemek pedig a sorban található szavak megfelelően szétválasztva. | A függvény adja vissza listák listáját, amiben a listák a soroknak felelnek meg, az elemek pedig a sorban található szavak megfelelően szétválasztva. | ||
− | == | + | == Parancssorból futtatás == |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | == | + | Írjunk egy prim.py nevű programot, amit parancssorból tudunk futtatni, a bemenete tetszőlegesen sok pozitív egész szám és térjen vissza ezek legnagyobb közös osztójával. Emeljünk kivételt, ha valamelyik nem egy pozitív egész szám. <br> |
− | Írjunk egy függvényt | + | Tipp: Ehhez használjuk a sys csomagot. |
+ | |||
+ | == Dinamikus programozás == | ||
+ | ===Legnagyobb közös osztó=== | ||
+ | Implementáljuk a legnagyobb közös osztó függvényt (lnko) az [https://hu.wikipedia.org/wiki/Euklideszi_algoritmus euklideszi algoritm] segítségével rekurzívan! | ||
+ | |||
+ | ===Zárt terület kifestése=== | ||
+ | Olvassuk be a [http://sandbox.hlt.bme.hu/~gaebor/ea_anyag/Info2/picture.txt picture.txt] fájlt listák listájába (minden karakter egy elem)! Írjunk egy fill(x,y) függvényt, ami ugyanazt csinálja, mint a Paint kitöltő funkciója! Az (x,y) pontból kiindulva a . helyére # jelet tesz, amíg a # jel által jelölt falba nem ütközik! A módszer rekurzív: kifestjük az (x,y) pontot, majd a szomszédait, ha azok nem # jelek. Hívjuk meg a szomszédokra (akik nem # jelek) a függvényt rekurzívan. Ha nincs kit kiszínezni, akkor álljunk meg! | ||
+ | ..................................... | ||
+ | ...#######################........... | ||
+ | ...#.....................#........... | ||
+ | ...#.....................#........... | ||
+ | ...#.....................#........... | ||
+ | ...#.....................#........... | ||
+ | ...#.....................#........... | ||
+ | ...#.....................#######..... | ||
+ | ...###.................##......#..... | ||
+ | ...#..##.............##........#..... | ||
+ | ...#....##.........##..........#..... | ||
+ | ...#......##.....##............#..... | ||
+ | ...#........#####..............#..... | ||
+ | ...#........#..................#..... | ||
+ | ...#.......##..................#..... | ||
+ | ...#.....##....................#..... | ||
+ | ...#...##......................#..... | ||
+ | ...#############################..... | ||
+ | ..................................... | ||
+ | ..................................... | ||
+ | ..................................... | ||
+ | ..................................... |
A lap jelenlegi, 2021. április 21., 12:05-kori változata
Tartalomjegyzék |
Feladatok
write_csv
Az előadáson tanultak alapján írjunk elso.csv és második.csv fájlokat.
Az elso.csv-be írjátok bele vesszővel elválasztva az első sorba a vezeték- és keresztneveteket.
A második sorba pedig vesszővel elválasztva a kedvenc filmetek címet, hogy mikor készült és a filmből 1 színésznek a nevét, illetve a rendezőt.
A masodik.csv fájl legyen hasonló az elso.csv-hez: Első sorba írjátok bele tabulátorral elválasztva a vezeték- és keresztneveteket.
A második sorba írjátok bele, hogy a matematika mely területe érdekel titeket a legjobban.
A harmadik sorban pedig az szerepeljen, hogy mit dolgoznátok szívesen a jövőben. (Több dolgot is fel lehet sorolni.)
Például az én esetemben így néznének ki ezek a fájlok:
elso.csv:
Csonka,Bence
Aljas nyolcas,2015,Samuel L. Jackson
masodik.csv:
Csonka Bence
Kombinatorika
Ács Filozófus
read_csv
Írjunk egy függvényt, ami beolvas egy .csv fájlt.
A függvénynek legyen egy opcionális delimiter paramétere, aminek a default értéke legyen ','.
Írjuk meg úgy, hogy működjön a függvény akkor is, ha nem ','-vel vannak elválasztva az értékek a fájlban, hanem tabulátorral. (Ebben az esetben a bemenetben indikálja ezt delimiter='\t'paraméter is, nem kell, hogy automatikusan felismerje.)
A függvény adja vissza listák listáját, amiben a listák a soroknak felelnek meg, az elemek pedig a sorban található szavak megfelelően szétválasztva.
Parancssorból futtatás
Írjunk egy prim.py nevű programot, amit parancssorból tudunk futtatni, a bemenete tetszőlegesen sok pozitív egész szám és térjen vissza ezek legnagyobb közös osztójával. Emeljünk kivételt, ha valamelyik nem egy pozitív egész szám.
Tipp: Ehhez használjuk a sys csomagot.
Dinamikus programozás
Legnagyobb közös osztó
Implementáljuk a legnagyobb közös osztó függvényt (lnko) az euklideszi algoritm segítségével rekurzívan!
Zárt terület kifestése
Olvassuk be a picture.txt fájlt listák listájába (minden karakter egy elem)! Írjunk egy fill(x,y) függvényt, ami ugyanazt csinálja, mint a Paint kitöltő funkciója! Az (x,y) pontból kiindulva a . helyére # jelet tesz, amíg a # jel által jelölt falba nem ütközik! A módszer rekurzív: kifestjük az (x,y) pontot, majd a szomszédait, ha azok nem # jelek. Hívjuk meg a szomszédokra (akik nem # jelek) a függvényt rekurzívan. Ha nincs kit kiszínezni, akkor álljunk meg!
..................................... ...#######################........... ...#.....................#........... ...#.....................#........... ...#.....................#........... ...#.....................#........... ...#.....................#........... ...#.....................#######..... ...###.................##......#..... ...#..##.............##........#..... ...#....##.........##..........#..... ...#......##.....##............#..... ...#........#####..............#..... ...#........#..................#..... ...#.......##..................#..... ...#.....##....................#..... ...#...##......................#..... ...#############################..... ..................................... ..................................... ..................................... .....................................