Informatika2-2022/CsütGyak08

A MathWikiből

Tartalomjegyzék

Feladatok

Fájl írása

1. write_csv

Í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

Írjuk meg először kézzel NotePad használatával, majd python felületen is.

2. 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.
Tipp: Ehhez használjuk a sys csomagot.

Szótárak

1. Prímszám-e

Készítsünk egy szótárat, melyben a prímszámok vannak, mint kulcsok 2-től 100-ig, az értékek pedig igaz-hamis értékek, hogy az adott prím Mersenne-prím-e.
Ehhez 2 segéd függvényt érdemes írni:

  • Visszaadja 2-től n-ig a prímek listáját (ezt már volt korábban)
  • Megmondja egy prímszámról, hogy Mersenne prím-e: adjunk a számhoz 1-et, majd azt, hogy 2 hatvány-e tesztelhetjük úgy, hogy vizsgáljuk milyen maradékot ad 2-vel osztva, ha 0-t, osztjuk 2-vel, és vizsgáljuk tovább.

2. Szótárból cserél

Írjunk függvényt, mely paraméterként kap egy stringet és egy szótárat. A szótárban cserék vannak, azaz, hogy melyik szót (kulcs) melyikre kell cserélni (érték). Példa a paraméterekre:

cserek = {"kiskutya":"kismacska", "majonez":"mustar", "mehecske":"lodarazs", "kikerulni":"atugrani"}
mondat = """Volt egyszer egy kiskutya, vasarba menet talalkozott a mehecskevel, mely eppen majonezt lakmarozott. 
A kiskutya nem tudta mitevo legyen, megprobalta kikerulni, de a mehecske tul nagy volt.
Igy a kiskutya inkabb hazament majonezt lakmarozni."""

3. Ötösök

Miután kijavítottuk a vizsgát, és megvannak a százalékos eredmények, szeretnénk kiszűrni belőle az ötösök listáját, hogy megdicsérhessük őket az előadáson.

Írjunk egy python függvényt, ami ki tudja szűrni az eredményekből az ötösöket. A függvény neve legyen otosok, és egy paramétere legyen

  • szazalekok, egy python szótár (dict), ami minden NEPTUN-kódhoz tartalmazza az adott hallgató százalékos eredményét.

A függvény egy listát adjon vissza, amiben az ötöst elért hallgatók NEPTUN-kódjai vannak. Akkor ötös egy hallgató, ha legalább 85 százalékot elért.

4. Gólkirály

Koppány és barátai minden hétvégén játszanak egy barátságos focimeccset az egyik helyi focipályán. Szeretnék tudni az év végén hogy ki rúgta közülük a legtöbb gólt, hogy egy kicsit megünnepelhessék az illető teljesítményét. Koppány megkért minket hogy írjunk egy python függvényt, ami segít a meccs végén elkönyvelni valaki góljait.

A függvény neve legyen golkiraly, és három paramétere legyen

  • eredmenyek, az év folyamán eddig lőtt gólok száma, szótár formájában, amiben mindenkinek a nevéhez hozzá van rendelve hogy eddig mennyit lőtt
  • jatekos és darab az elkönyvelendő gólok lövőjének neve, és a góljainak száma

A függvény adja vissza az eredmenyek-nek megfelelően módosított változatát, azaz ha eddig nem szerepelt benne játékos, akkor most szerepeljen benne darab-bal, ha eddig is szerepelt benne, akkor pedig növeljük meg a hozzá könyvelt gólok számát darab-bal.

5. Leltárazás

A következő probléma merül fel a boltokban: Egy leltáros felírja egy listában szépen sorjában, hogy mit lát maga előtt. Ezekből a termékekből egy többször is szerepelni fog, attól függően, hogy hány darab van belőle.
Feladat: Írjunk egy függvényt, aminek a bemenete egy lista, a kimenete pedig egy szótár, aminek a kulcsai a listában szereplő nevek, a kulcsokhoz pedig az ő darabszámuk tartozik.

6. 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!

.....................................
...#######################...........
...#.....................#...........
...#.....................#...........
...#.....................#...........
...#.....................#...........
...#.....................#...........
...#.....................#######.....
...###.................##......#.....
...#..##.............##........#.....
...#....##.........##..........#.....
...#......##.....##............#.....
...#........#####..............#.....
...#........#..................#.....
...#.......##..................#.....
...#.....##....................#.....
...#...##......................#.....
...#############################.....
.....................................
.....................................
.....................................
.....................................
Személyes eszközök