Python feladatok és tesztek (308 feladat)

Az oldal folyamatos fejlesztés alatt áll. Ha észrevételed van, örülnénk, ha megosztanád velünk: info @ tanit . hu
iPhone-okra egy Python programozási lehetőség: Python 3IDE, Androidos mobilokra: QPython 3L. Van Online Python editor is :)

Tartalomjegyzék


08 Ciklusok URL


08-00 Ciklusok URL


Feladat leírás:
Ismétlődő utasítások végrehajtására szolgálnak a ciklusok.
Minden ciklus két részből áll:
- ciklusfej, avagy a ciklus vezérlő része; ez tartalmazza a ciklus futási feltételét
- ciklus törzs, avagy ciklusmag; ez tartalmazza a többször végrehajtandó utasítást, vagy utasításokat
A ciklustörzs egy lefuttatását egy iterációnak nevezzük.
Kétféle ciklusvezérlést használhatunk:
for - Határozott iteráció (számláló ciklus): előre tudjuk hányszor kell végrehajtani
while - Határozatlan iteráció (feltételes ciklus): menet közben derül csak ki hányszor kell végrehajtani
... else - mindkét ciklus kiegészíthető "else" ággal, amely az utolsó iteráció után fut le, illetve akkor is, ha a ciklusmag egyszer sem futott le. Csak akkor marad el az "else" ág, ha "break"-kel léptünk ki a ciklusból.

range(n) - egy n elemű számsorozatot állít elő, 0-tól n-1-ig. Pl.: range(3) --> 0, 1, 2
break - megszakítja a ciklus futását és a ciklus utáni utasításra ugrik a program vezérlés.
continue - visszaugrik a ciklus vezérlés a ciklusfejre

Példák FOR ciklusra:
# Végigmegyünk egy lista elemein és kiírjuk őket
for elem in lista:
 print(elem)

# Ötször írunk ki egy szöveget
for i in range(5):
 print('szöveg')

Példák WHILE ciklusra:
# Addig ismétlődnek a ciklusok, amíg a futásiFeltétel igaz
while futásiFeltétel:
 utasítások

futásiFeltétel = True
while futásiFeltétel:
 utasítások
 if leállásiFeltétel:
  futásiFeltétel = False

Oldd meg az alábbi űrlap feladatait: 08 Ciklusok - teszt

08-01 Számsor (2) URL


Feladat leírás:
Hozz létre egy "08-01 Szamsor.py" Python fájlt.
Írd ki kétszer az első 10 természetes számot, minden számot külön sorba, a minta szerint.
A két kiírásnál különböző ciklusvezérléseket alkalmazz. Az egyik "for" a másik "while" legyen.
Végeredmény minta (részlet):
08-01 Számsor

08-02 Számsor (2) URL


Feladat leírás:
Hozz létre egy "08-02 Szamsor.py" Python fájlt.
Írd ki kétszer az első 10 természetes számot, minden számot egy sorba, a minta szerint.
A két kiírásnál különböző ciklusvezérléseket alkalmazz. Az egyik "for" a másik "while" legyen.
Végeredmény minta (részlet):
08-02 Számsor

08-03 Számsor-számjegyek (2) URL


Feladat leírás:
Hozz létre egy "08-03 Szamsor-szamjegyek.py" Python fájlt.
Adott az alábbi adatsor. Írjuk ki, hogy hány egyjegyű, hány kétjegyű és hány háromjegyű szám van benne. A program akkor is jól működjön, ha az adatsor megváltozna.
datalist = [210, 23, 124, 3, 5, 567, 56, 87, 9, 7, 3, 45, 2345, 678, 543, 24, 3, 567, 2, 1, 12, 48, 9, 12, 345, 64, 87, 84, 347, 56, 2, 3, 14, 7243, 578, 93, 432, 34, 567, 43, 234, 543, 467, 876, 510, 120, 123]
Végeredmény minta (részlet):
08-03 Számsor-számjegyek

08-04 Magánhangzók száma (3) URL


Feladat leírás:
Hozz létre egy "08-04 Maganhangzok szama.py" Python fájlt.
Olvass be egy szöveget és írd ki a minta szerint, hogy hány magánhangzó van benne. Az ékezetes, és a kis és nagybetűk is számítanak.
Végeredmény minta (részlet):
08-04 Magánhangzók száma

08-05 Szövegsorozat (2) URL


Feladat leírás:
Hozz létre egy "08-05 Szovegsorozat.py" Python fájlt.
Olvass be szövegeket addig, amíg üres sztring nem jön be. A végén írd ki, hogy hány szöveg lett beolvasva.
Végeredmény minta (részlet):
08-05 Szövegsorozat

08-06 Magánhangzó keresés (3) URL


Feladat leírás:
Hozz létre egy "08-06 Maganhangzo kereses.py" Python fájlt.
Kérjen be egy szöveget a felhasználótól, döntse el, hogy van-e benne magánhangzó, ha igen, akkor hol van az első!
Ékezetes, kis és nagybetűk esetén is jól működjön a program.
Végeredmény minta (részlet):
08-06 Magánhangzó keresés-0
Végeredmény minta (részlet):
08-06 Magánhangzó keresés-1
Végeredmény minta (részlet):
08-06 Magánhangzó keresés-2

08-07 Számok fele (2) URL


Feladat leírás:
Hozz létre egy "08-07 Szamok fele.py" Python fájlt.
Olvass be egész számokat, amíg 0 nem jön be.
Ha nem egész számot adnak meg, írd ki a mintának megfelelően, hogy az nem egész szám,
ha viszont egész szám, akkor írd ki a felét.
A program legvégén minden esetben írd ki, hogy "Viszlát!"
Végeredmény minta (részlet):
08-07 Számok fele-0
Végeredmény minta (részlet):
08-07 Számok fele-1

08-08 Legkisebb (3) URL


Feladat leírás:
Hozz létre egy "08-08 Legkisebb.py" Python fájlt.
Kérjük be hány egész számot akar megadni a felhasználó majd annyi egész számot beolvasunk és aztán kiírjuk a legkisebbet.
Ha a felhasználó 0-át ad meg, akkor írjuk ki a minta szerinti szöveget és érjen véget a program.
Biztosra vehetjük, hogy a felhasználó egész számokat ad meg, így azt nem kell ellenőrizni.
Végeredmény minta (részlet):
08-08 Legkisebb-0
Végeredmény minta (részlet):
08-08 Legkisebb-1

08-09 Számsor - számjegyek száma (3) URL


Feladat leírás:
Hozz létre egy "08-09 Szamsor - szamjegyek szama.py" Python fájlt.
Olvassunk be egy egész számot. Amíg a felhasználó nem egész számot ad meg, addig próbálhatja újra.
Ha üres sztringet ad meg, akkor vége a programnak.
Minden esetben, amikor egész számot ad meg, írjuk ki hány jegyű a szám.
Írd ki a program végén, hogy "Viszlát!"
Végeredmény minta (részlet):
08-09 Számsor - számjegyek száma

08-10 Számlista és oszthatóság (3) URL


Feladat leírás:
Hozz létre egy "08-10 Szamlista es oszthatosag.py" Python fájlt.
Írd ki az alábbi lista összes elemét a minta szerint először egy sorban, majd külön sorokba azzal együtt, hogy oszthatók-e héttel.
A program akkor is jól működjön, ha változik a feldolgozandó számsor.
A számlista: 2345, 42, 1, 10, 6790, 56, 234, 865, 124, 1638, 76, 145, 742
Végeredmény minta (részlet):
08-10 Számlista és oszthatóság

08-11 Prímszámok (5) URL


Feladat leírás:
Hozz létre egy "08-11 Primszamok.py" Python fájlt.
Olvassunk be egy egész számot és írjuk ki hogy prímszám-e.
Abban biztosak lehetünk, hogy a felhasználó egynél nagyobb egész számot ad meg.
Végeredmény minta (részlet):
08-11 Prímszámok-0
Végeredmény minta (részlet):
08-11 Prímszámok-1

08-12 Beléptetés (3) URL


Feladat leírás:
Hozz létre egy "08-12 Beleptetes.py" Python fájlt.
Tároljunk egy azonosító/jelszó párost. A felhasználónak ezt kell kitalálni. Ha kitalálta, írjuk ki: Beléptetve.
Max 5-ször próbálkozhat. Ha nem találta ki ez idő alatt, akkor írjuk ki: Belépés megtagadva.
Végeredmény minta (részlet):
08-12 Beléptetés-0
Végeredmény minta (részlet):
08-12 Beléptetés-1

08-13 Számsor (3) URL


Feladat leírás:
Hozz létre egy "08-13 Szamsor.py" Python fájlt.
Olvassunk be öt egész számot. A végén írjuk ki melyik a legnagyobb és melyik a legkisebb.
Írjuk ki a számok összegét és átlagát is. Ezekhez használd a Python függvényeit.
Biztosra vehetjük, hogy a felhasználó egész számokat ad meg.
Végeredmény minta (részlet):
08-13 Számsor

08-14 Névsor-első (2) URL


Feladat leírás:
Hozz létre egy "08-14 Nevsor-elso.py" Python fájlt.
Olvass be öt angol nevet és írd ki a névsorban legelsőt.
Végeredmény minta (részlet):
08-14 Névsor-első

08-15 Menu (4) URL


Feladat leírás:
Hozz létre egy "08-15 Menu.py" Python fájlt.
A felhasználó három lehetőség közül választhasson:
a) Kiírjuk neki az első 10 páros számot
b) Kérünk töle egy számot, és megmondjuk, hogy az páros-e
c) Kérünk tőle két számot és kiírjuk a szorzatukat
d) Kilépés a programból

Addig kérjük ismétlődően a menüből választást, amíg d-vel ki nem lép.
A szövegezést és beolvasást a minta szerint alakítsd ki.
Végeredmény minta (részlet):
08-15 Menu

08-16 Szóválogatás (4) URL


Feladat leírás:
Hozz létre egy "08-16 Szovalogatas.py" Python fájlt.
Kérjünk be a felhasználótól három betűt és a keresett szavak hosszát.
A programban már megadott hosszú magyar szavak közül válogassuk ki azokat, amelyekben szerepel a három betű és adott hosszúságúak.
Ellenőrizzük, hogy a hossz legalább 9 és legfeljebb 21 legyen. Ha nem az, akkor kérjük be újra.
Ellenőrizzük a betűk számát is, és ha netán nem hármat adott meg a felhasználó, kérjük be újra.
Ha nem található a feltételnek megfelelő szó, akkor azt írjuk ki, különben listázzuk ki a talált szavakat a mintának megfelelően.
Kiinduláshoz használjuk a mellékelt forrásfájlt.
Forrásfájlok (zip)
Végeredmény minta (részlet):
08-16 Szóválogatás-0
Végeredmény minta (részlet):
08-16 Szóválogatás-1
Végeredmény minta (részlet):
08-16 Szóválogatás-2

08-17 Hibakeresés (3) URL


Feladat leírás:
Hozz létre egy "08-17 Hibakereses.py" Python fájlt és másold be az alábbi feladat megoldásaként készült a mellékelt fájl tartalmát.
A megoldásban van 6 hiba. Javítsd ki őket úgy, hogy a mintának megfelelően jól működjön a program.
Ez volt a feladat:
Olvass be egy szöveget és írd ki, hogy hány magánhangzó van benne. A kis és nagybetűk is számítanak.
Forrásfájlok (zip)
Végeredmény minta (részlet):
08-17 Hibakeresés

08-18 Listák összevetése (5) URL


Feladat leírás:
Hozz létre egy "08-18 Listak osszevetese.py" Python fájlt és másold bele a mellékelt forrásfájlból az ott lévő kódot.
Egészítsd ki a programot úgy, hogy az abban a szereplő két listáról (data1, data2) állapítsd meg:
1. Melyik listának van több eleme
2. Hányadik számnál van az első eltérő elem
3. Melyikben szerepel többször a 10-es szám
4. Melyiknek nagyobb az elemei átlaga
Akkor is helyesen működjön a program, ha módosítjuk a két listát!
Forrásfájlok (zip)
Végeredmény minta (részlet):
08-18 Listák összevetése

08-19 Adatok típusa (3) URL


Feladat leírás:
Hozz létre egy "08-19 Adatok tipusa.py" Python fájlt.
Írasd ki egyesével, külön sorokba az alábbi lista (dataList) elemeit és azt, hogy az elemek milyen típusúak:
dataList = [12, 34.5, True, 'abc', (2, 3), {5, 6, 7}, ['a', 3, 4], False, {'name':'Alfa', 'age':15}, None]
Végeredmény minta (részlet):
08-19 Adatok típusa

08-20 Keresés listában (3) URL


Feladat leírás:
Hozz létre egy "08-20 Kereses listaban.py" Python fájlt.
Adott az alábbi lista:
dataList = """Név,Életkor,Város
Varga Imre,18,Budapest
Tóth Sándor,22,Debrecen
Nagy Ibolya,23,Pécs
Horváth Ferenc,17,Budapest
Balogh Edina,26,Budapest
Németh Kamilla,19,Debrecen
Fekete Géza,18,Pécs
Kovács Péter,27,Budapest
Kiss Tibor,20,Debrecen
Szabó Erzsébet,21,Budapest
Szilágyi Ede,18,Pécs
Agárdi Pál,26,Budapest
Pálosi Richárd,23,Budapest
Budai Máté,19,Debrecen
Karácsony Antal,20,Budapest
Aradi Márta,27,Pécs
Piros Adél,29,Debrecen
Bíró Zsolt,16,Budapest
Szabados Attila,25,Debrecen
Román Sarolta,24,Budapest
Virág Bertalan,22,Pécs
"""

Ebből a listából programmal keresd ki a legfiatalabb résztvevőt és írd ki a nevét, életkorát és városát.
A program akkor is helyesen működjön, ha az adatlista módosul.
Végeredmény minta (részlet):
08-20 Keresés listában

08-21 Számolás listában (3) URL


Feladat leírás:
Hozz létre egy "08-21 Szamolas listaban.py" Python fájlt.
Adott az alábbi lista:
dataList = """Név\tÉletkor\tVáros
Agárdi Pál\t26\tBudapest
Pálosi Richárd\t23\tBudapest
Budai Máté\t19\tDebrecen
Karácsony Antal\t20\tBudapest
Román Sarolta\t24\tBudapest
Virág Bertalan\t22\tPécs
Varga Imre\t18\tBudapest
Tóth Sándor\t22\tDebrecen
Nagy Ibolya\t23\tPécs
Horváth Ferenc\t17\tBudapest
Balogh Edina\t26\tBudapest
Németh Kamilla\t19\tDebrecen
Fekete Géza\t18\tPécs
Kovács Péter\t27\tBudapest
Kiss Tibor\t20\tDebrecen
Szabó Erzsébet\t21\tBudapest
Szilágyi Ede\t18\tPécs
Aradi Márta\t27\tPécs
Piros Adél\t29\tDebrecen
Bíró Zsolt\t16\tBudapest
Szabados Attila\t25\tDebrecen
"""

Ebből a listából programmal számold meg hány debreceni van.
A program akkor is helyesen működjön, ha az adatlista módosul.
Végeredmény minta (részlet):
08-21 Számolás listában

08-22 Lista információk (4) URL


Feladat leírás:
Egy fájlból beolvasott lista elemeiről írunk ki információkat.
Hozz létre egy "08-22 Lista informaciok.py" Python fájlt.
Töltsd le a mellékelt forrásfájlokat. A "08-22 Lista informaciok.txt" fájlból másold át a kódot a programodba.
Az így rendelkezésre álló programot egészítsd ki úgy, hogy a 'data' listáról írja ki az alábbi információkat a mintának megfelelően.
Az előre megírt kódrészlet a mellékelt "_data.txt" fájlból olvas be adatokat. Az adatok a fájlban fejléc nélkül szerepelnek az alábbi minta szerint:
Lengyel Elizabet;1979-04-15;Szolnok;Pék
Dudás Bence;2001-11-08;Debrecen;Üzletkötő
Halász Ferenc;1988-12-26;Érd;Raktárkezelő
Antal Viktória;1982-02-28;Miskolc;Óvónő

Minden beolvasott sor a 'data' listában a pontosvesszők mentén al-listákba van széttagolva úgy, hogy egy-egy sor a fájlból a 'data' egy-egy eleme lett. Ezek a listaelemek al-listák, ahol az első elem a név, a második elem a születési dátum, a harmadik a lakhely, negyedik pedig a foglalkozás.

Írassuk ki az alábbi adatokat:
- hány név szerepel a listában
- ki a legfiatalabb, mikor született és hol lakik
- ki a legidősebb, mikor született és mi a foglalkozása
- hány budapesti szerepel a listában
- hány szolnoki pék szerepel a listában

A program akkor is helyesen működjön, ha más a beolvasott fájl tartalma, de a struktúrája azonos.
Forrásfájlok (zip)
Végeredmény minta (részlet):
08-22 Lista információk

08-23 Listaelemek átalakítása (3) URL


Feladat leírás:
Listaelemeket alakítunk át sztringgé.
Hozz létre egy "08-23 Listaelemek atalakitasa.py" Python fájlt.
Adott az alábbi szám-lista. Alakítsd át a listát úgy, hogy az elemei sztring típusúak legyenek.
A program más listaelemek esetén is jól működjön.
A mintának megfelelően tájékoztad a felhasználót a program működéséről és írd ki az eredeti és az átalakított listát is.

data = [10, 20, 30, 40, 50, 60, 70]
Végeredmény minta (részlet):
08-23 Listaelemek átalakítása

08-24 Sorbarendezés (3) URL


Feladat leírás:
Számokat olvasunk be és rendezve írjuk ki.
Hozz létre egy "08-24 Sorbarendezes.py" Python fájlt.
Olvass be számokat egy beolvasással, a számokat vesszővel és szóközökkel elválasztva. A számok lehetnek törtek és negatívak is.
Feltételezhetjük, hogy a megadott minta szerint adja meg a felhasználó a számokat, azt külön nem kell ellenőrizni.
A beolvasott számokat írjuk ki csökkenő sorrendben, a minta szerinti jelekkel elválasztva: <== .
A beolvasáshoz és kiíráshoz lásd a mintát.
Végeredmény minta (részlet):
08-24 Sorbarendezés-1
Végeredmény minta (részlet):
08-24 Sorbarendezés-2

08-25 Országok (4) URL


Feladat leírás:
Országok között keresgélünk.
1. Hozz létre egy "08-25 Orszagok.py" Python fájlt.
2. Kiindulásnak használd a mellékelt fájlt.
3. Kérd be a felhasználótól a kezdőbetűket és keresd meg az országok listájából azokat, amelyek így kezdődnek.
4. Vedd figyelembe, hogy az országok listájában az országok neve előtt és után sok esetben vannak fölösleges szóközök.
5. Akkor is találd meg az adott országokat, ha a kis-nagybetű eltérések vannak.
6. Az országok szóköz-mentesítéséhez használd fel a már adott "takarít()" függvényt!
7. A program kommunikációját a mintáknak megfelelően szövegezd.
Forrásfájlok (zip)
Végeredmény minta (részlet):
08-25 Orszagok-0
Végeredmény minta (részlet):
08-25 Orszagok-1
Végeredmény minta (részlet):
08-25 Orszagok-2
Végeredmény minta (részlet):
08-25 Orszagok-3

08-26 Ciklusok (4) URL


Feladat leírás:
Számokat keresünk és számolunk össze.
1. Hozz létre egy "08-26 Ciklusok.py" Python fájlt.
2. Kiindulásnak használd a mellékelt fájlt és minden alábbi feladathoz külön ciklust írj.
A 'numbers' lista csak pozitív egész számokat tartalmaz.
A megoldások során nem használhatod a beépített python függvényeket: min, max, sum, len, sort

3. Keresd meg és írd ki a listából a legkisebb számot.
4. Keresd meg az első olyan számot a listában, amely osztható 19-cel. Írd ki melyik szám az.
5. Keresd meg a legnagyobb páros számot és írd ki, hogy melyik az és hányadik a listában.
6. Számold össze a páratlan számokat.
7. Számold össze hány darab héttel osztható szám van.
8. Keresd meg az első 13-mal osztható páros számot. Írd ki melyik az és hányadik a listában.

9. A program kommunikációját a mintáknak megfelelően szövegezd.
A mellékelt fájlt innen töltheted le: 08-26 Ciklusok.txt
Végeredmény minta (részlet):
08-26 Ciklusok

08-27 Beolvasás (4) URL


Feladat leírás:
Számokat olvasunk be és elemzünk.
Hozz létre egy "08-27 Beolvasas.py" Python fájlt.
Tájékoztasd a felhasználót a program működéséről, majd olvass be pontosvesszőkkel elválasztott egész számokat.
Írd ki, hogy hány számot adott meg a felhasználó, mi az átlaguk 2 tizedesre kerekítve, és melyik közülük a legkisebb és legnagyobb.
A megoldá során nem használhatod a beépített függvényekete: min, max, len, count, sum, sort
A program kommunikációját a mintáknak megfelelően szövegezd.
Végeredmény minta (részlet):
08-27 Beolvasás-0
Végeredmény minta (részlet):
08-27 Beolvasás-1

08-28 Prím osztók (5) URL


Feladat leírás:
Hozz létre egy "08-28 Prim osztok.py" python fájlt.
Az alábbi számokról döntsük el mindegyik eleméről, hogy melyik egyjegyű prímszámok osztják, és melyek nem:
234, 421, 12, 4678, 234

A program kommunikációját a mintának megfelelően alakítsd ki.
Végeredmény minta (részlet):
08-28 Prím osztók

08-29 Szótár lista (5) URL


Feladat leírás:
Szótár-listában keresünk adatokat.
Hozz létre egy "08-29 Szotar lista.py" python fájlt.
Másold bele a mellékelt fájl tartalmát és a végén folytasd a program írását.
Minden alábbi feladatot külön-külön ciklusokkal oldj meg.
1. Számold meg hány nő szerepel a névsorban
2. Írd ki azon férfiak neveit vesszővel és szóközzel elválasztva, akik 18 évesek
3. Írd ki a férfiak átlag életkorát egy tizedesre kerekítve
4. Keresd meg a névsorban az első 17 éves nőt és írd ki a nevét
5. Keresd meg, hogy Vass Hunor hányadik a névsorban

A program kommunikációját a mintának megfelelően alakítsd ki.
A mellékelt fájlt innen töltheted le: 08-29 Szótár lista.txt
Végeredmény minta (részlet):
08-29 Szótár lista

08-30 Városok (4) URL


Feladat leírás:
Városok között keresgélünk.
Hozz létre egy "08-30 Varosok.py" python fájlt.
Másold bele a mellékelt fájl tartalmát és a végén folytasd a program írását.

A programban találsz egy varosok[] listát (benne a magyarországi települések nevével) és egy nagybetus() függvényt (amely a paraméterben kapott szöveget csupa nagybetűsen adja vissza)!
Kérj be a felhasználótól egy egész számot és egy egyjegyű betűt a magyar ábécéből a minta szerint kommunikálva! A megoldás során feltételezheted, hogy a felhasználó a minta szerint számot adott meg, azt nem kell ellenőrizni, de a szöveget ellenőrizd, hogy csak egy betű-e! Ha hosszabb szöveget adott meg, akkor ismételd a beolvasást addig, amíg az megfelelő nem lesz!
Gyűjtsd ki az adott hosszúságú és keresett betűvel kezdődő magyar városneveket, és a nagybetus() függvény megfelelő meghívásával biztosítsd, hogy azok csupa nagybetűvel jelenjenek meg soronként tördelve! Ha nincs ilyen városnév a listában, akkor a „Nincs ilyen magyar város” üzenet jelenjen meg a városnevek felsorolása helyett!

A program kommunikációját a mintának megfelelően alakítsd ki.
A mellékelt fájlt innen töltheted le: 08-30 Városok.txt
Végeredmény minta (részlet):
08-30 Városok-0
Végeredmény minta (részlet):
08-30 Városok-1

08-31 Pitagoraszi számok (4) URL


Feladat leírás:
Pitagoraszi számhármasok
Hozz létre egy "08-31 Pitagoraszi szamok.py" python fájlt.
Készíts egy programot, amely megkeresi az összes, 100-nál kisebb pitagoraszi számhármast.
Azt is írd ki, hogy hány ilyen hármast talált a program.
A számhármasokra igaz kell legyen a pitagorasz tétel: a²+b²=c²
És mindhárom szám kisebb 100-nál.
Az eredményt a mintának megfelelően írasd ki a konzolra.
Végeredmény minta (részlet):
08-31 Pitagoraszi számok

08-32 Bináris számok (4) URL


Feladat leírás:
Egy pozitív egész számot alakítunk bináris számmá.
Hozz létre egy "08-32 Binaris szamok.py" Python fájlt.
Olvassunk be egy pozitív egész számot és írjuk ki a bináris alakját.
A beépített bin() függvényt nem használhatod!
A felhasználó biztosan egész számot ad meg, azt nem kell ellenőrizni.
A program kommunikációját a mintának megfelelően alakítsd.
Végeredmény minta (részlet):
08-32 Bináris számok-0
Végeredmény minta (részlet):
08-32 Bináris számok-1

08-33 Bevételek (3) URL


Feladat leírás:
Napi bevételeket olvasunk be és írunk ki csökkenő sorrendben.
Hozz létre egy "08-33 Bevetelek.py" Python fájlt.
Olvasd be egy hét napi bevételi összegeit egy beolvasással pontosvesszővel elválasztva. Az összegek ezer Ft-ban értendő pozitív egész számok.
Feltételezhetjük, hogy a megadott minta szerint adja meg a felhasználó az értékeket, azt külön nem kell ellenőrizni.
A beolvasott összegeket írjuk ki csökkenő sorrendben, a minta szerint.
A beolvasáshoz és kiíráshoz lásd a mintát, gondosan ügyelve a szóközök használatára is.
Végeredmény minta (részlet):
08-33 Bevételek-1
Végeredmény minta (részlet):
08-33 Bevételek-2

08-34 Autójelek és domainek (4) URL


Feladat leírás:
Országok autójeleit és domain neveit keressük.
1. Hozz létre egy "08-34 Autojelek es domainek.py" Python fájlt.
2. Kiindulásnak használd a mellékelt fájl, amely tartalmazza az országok listáját az autójelekkel és domain nevekkel együtt.
A lista elemeiben három adat van pontosvesszővel elválasztva: ország;autójel;domain
3. Kérd be a felhasználótól az ország két kezdőbetűjét és keresd meg az országok listájából azokat, amelyek így kezdődnek.
4. Ha nem két kezdőbetűt adnak meg, akkor kérjük be újra a kezdőbetűket addig, amíg két betűt nem adnak meg.
5. Akkor is találd meg az adott országokat, ha kis-nagybetű eltérések vannak.
6. Listázd ki a talált országokat a minta szerint, az ország nevét és a domain neveket is csupa nagybetűvel.
7. Ha nem található olyan ország, amelyet kértek, akkor írjuk ki, hogy ilyen ország nem található.
8. A program kommunikációját a mintának megfelelően szövegezd.
A mellékelt fájlt innen töltheted le: autojel-domain.txt
Végeredmény minta (részlet):
08-34 Autójelek  és domainek-0
Végeredmény minta (részlet):
08-34 Autójelek  és domainek-1

08-35 IP-osztály (5) URL


Feladat leírás:
Egy IP cím osztályát állapítjuk meg.
Hozz létre egy "08-35 IP-osztaly.py" Python fájlt.
Olvassunk be egy teljes IP címet és írjuk ki, hogy az milyen osztályú cím
Az IP osztályokról (classful) azt lehet tudni, hogy az első oktett, azaz első bájt alapján:
A : 0xxxxxxx - nagy hálózatok
B : 10xxxxxx - közepeshálózatok
C : 110xxxxx - kis hálózatok
D : 1110xxxx - multicast címzés
E : 1111xxxx - nem publikus, kísérleti célokra fenntartott
A felhasználó biztosan jól adja meg az kért adatot, azt nem kell ellenőrizni.
A program kommunikációját a mintának megfelelően alakítsd.
Végeredmény minta (részlet):
08-35 IP-osztály-0
Végeredmény minta (részlet):
08-35 IP-osztály-1
Végeredmény minta (részlet):
08-35 IP-osztály-2
Végeredmény minta (részlet):
08-35 IP-osztály-3
Végeredmény minta (részlet):
08-35 IP-osztály-4

08-36 Lista módosítás (3) URL


Feladat leírás:
Egy meglevő listát módosítunk.
Hozz létre egy "08-36 Lista modositas.py" Python fájlt.
Adott az alábbi lista, amelyben szövegek vannak.
lista = ['ablak', 'ajtó', 'virág', 'vidék', 'ország', 'kenyér']

Módosítsd a listát úgy, hogy minden elemének a második betűje nagybetűs legyen és írd ki a mintának megfelelően.
Végeredmény minta (részlet):
08-36 Lista módosítás

08-37 Keresés listában (3) URL


Feladat leírás:
Előre megadott listában keresünk meg adatokat.
Hozz létre egy "08-37 Kereses listaban.py" Python fájlt.
Adott az alábbi lista:
dataList = """Név;Életkor;Város
Németh Kamilla;19;Debrecen
Fekete Géza;18;Pécs
Kovács Péter;27;Budapest
Kiss Tibor;20;Debrecen
Szabó Erzsébet;21;Budapest
Szilágyi Ede;18;Pécs
Agárdi Pál;26;Budapest
Pálosi Richárd;23;Budapest
Budai Máté;19;Debrecen
Karácsony Antal;20;Budapest
Aradi Márta;27;Pécs
Piros Adél;29;Debrecen
Bíró Zsolt;16;Budapest
Szabados Attila;25;Debrecen
Román Sarolta;24;Budapest
Virág Bertalan;22;Pécs
Varga Imre;18;Budapest
Tóth Sándor;22;Debrecen
Nagy Ibolya;23;Pécs
Horváth Ferenc;17;Budapest
Balogh Edina;26;Budapest
"""

Ebből a listából programmal keresd ki a legidősebb budapestit és a minta szerint írd ki a nevét és életkorát.
A program akkor is helyesen működjön, ha az adatlista módosul.
Végeredmény minta (részlet):
08-37 Keresés listában

08-38 Számolás listában (3) URL


Feladat leírás:
Előre megadott listában keresünk meg adatokat.
Hozz létre egy "08-38 Szamolas listaban.py" Python fájlt.
Adott az alábbi lista:
dataList = """Név*Életkor*Város
Nagy Ibolya*23*Pécs
Horváth Ferenc*17*Budapest
Agárdi Pál*26*Budapest
Pálosi Richárd*23*Budapest
Budai Máté*19*Debrecen
Karácsony Antal*20*Budapest
Román Sarolta*24*Budapest
Virág Bertalan*22*Pécs
Varga Imre*18*Budapest
Kovács Péter*27*Budapest
Kiss Tibor*20*Debrecen
Szabó Erzsébet*21*Budapest
Szilágyi Ede*18*Pécs
Aradi Márta*27*Pécs
Piros Adél*29*Debrecen
Bíró Zsolt*16*Budapest
Szabados Attila*25*Debrecen
Tóth Sándor*22*Debrecen
Balogh Edina*26*Budapest
Németh Kamilla*19*Debrecen
Fekete Géza*18*Pécs
"""

Ebből a listából programmal számold meg hány 20 év feletti budapesti van.
A program akkor is helyesen működjön, ha az adatlista módosul.
Végeredmény minta (részlet):
08-38 Számolás listában

08-39 Szövegfeldolgozás (3) URL


Feladat leírás:
Beolvasott szöveget elemzünk.
Hozz létre egy "08-39 Szovegfeldolgozas.py" Python fájlt.
Olvass be egy tetszőleges szöveget, majd írd ki, hogy van-e benne pozitív egész szám, és ha van, akkor azok közül melyik a legnagyobb.
Ha nincs benne, akkor azt is írd ki.
A program kommunikációját a mintáknak megfelelően szövegezd.

Plusz kiegészítési lehetőség: a program akkor is jól működjön, ha a pozitív egész szám előtt vagy után közvetlenül írásjelek vagy egyéb műveleti jelek vannak.
Végeredmény minta (részlet):
08-39 Szövegfeldolgozás_0
Végeredmény minta (részlet):
08-39 Szövegfeldolgozás_1

08-40 Aranymetszés (5) URL


Feladat leírás:
Aranymetszéshez legközelebbi számokat keresünk.
Hozz létre egy "08-40 Aranymetszes.py" python fájlt.
Olvass be egy pozitív egész számot. A felhasználó jól adja meg, így ezt nem kell ellenőrizni.
Keresd meg azt a számpárost, amely kisebb mint a megadott érték, és az arányuk legközelebb áll az aranymetszéshez.
Írd ki azt is, hogy mekkora a pontos aranymetszéstől való eltérése.
A program kommunikációját a mintának megfelelően szövegezd.
Az aranymetszés képlete: (1 + √5) / 2
Végeredmény minta (részlet):
08-40 Aranymetszés-0
Végeredmény minta (részlet):
08-40 Aranymetszés-1
Végeredmény minta (részlet):
08-40 Aranymetszés-2

08-41 Fuvarozó (4) URL


Feladat leírás:
Keressük a leggyorsabb fuvarozót.
Hozz létre egy "08-41 Fuvarozo.py" python fájlt.
Adott egy adatsor, amelyben fuvarozók indulási és érkezési idejét és a megtett távolságot tároljuk:
fuvarok = [
['TransCargo', '06:00', '08:00', 160],
['SpeedLine', '07:15', '09:15', 180],
['FastExpress', '05:30', '08:00', 210],
['EuroDrive', '09:00', '10:30', 105],
['RoadRunners', '11:00', '12:00', 110],
['CargoJet', '10:00', '12:00', 190],
['MaxiTrans', '13:00', '14:20', 98],
['QuickMove', '08:45', '10:00', 120],
['FastTrack', '06:30', '08:00', 135],
['ZoomLogistics', '07:00', '09:00', 180],
['CitySprint', '10:15', '11:45', 120],
['SwiftHaul', '12:30', '14:00', 130],
['NovaTrans', '14:15', '15:30', 105],
['GoFast', '16:00', '17:00', 100],
['HaulEx', '15:30', '17:30', 150],
]
Keresd meg a leggyorsabb fuvarozót és írd ki a nevét és sebességét. A program akkor is jól működjön, ha más adatokkal kell dolgozni.
A program kommunikációját a mintának megfelelően szövegezd.
Végeredmény minta (részlet):
08-41 Fuvarozó-0

08-42 Ciklus (2) URL


Feladat leírás:
Egyszerű ciklust tesztelünk.
Hozz létre egy "08-42 Ciklus.py" Python fájlt.
Írd ki a konzolra 100-szor, hogy "Szia!", a minta szerint szóközökkel elválasztva.
Végeredmény minta (részlet):
08-42 Ciklus

08-43 Ciklus (2) URL


Feladat leírás:
Egyszerű ciklust tesztelünk.
Hozz létre egy "08-43 Ciklus.py" Python fájlt.
Írd ki a konzolra 100-szor, hogy "Szia!", szóközökkel elválasztva, mindegyik előtt legyen ott a sorszáma, a minta szerint.
Végeredmény minta (részlet):
08-43 Ciklus

08-44 Szavak (2) URL


Feladat leírás:
Szavakat kezelünk.
Hozz létre egy "08-44 Szavak.py" Python fájlt.
Kérj be 8 szót, tárold őket egy listában, majd írd ki a listát a konzolra a mintának megfelelően.
Végeredmény minta (részlet):
08-44 Szavak-1
Végeredmény minta (részlet):
08-44 Szavak-2

08-45 Termékek (2) URL


Feladat leírás:
Termékek árát tároljuk.
Hozz létre egy "08-45 Termekek.py" Python fájlt.
Kérdezd meg a felhasználót, hogy hány termék árát szeretné megadni.
Utána kérd be a termékek nevét és árát. Az adatokat egymásba ágyazott listában tárold. Ügyelj arra, hogy a termék árát egész számként tárold!
Végül írd ki a listát és az adatokat a mintának megfelelően.
A felhasználó jó adatokat ad meg, azt nem kell ellenőrizni.
Végeredmény minta (részlet):
08-45 Termékek-1
Végeredmény minta (részlet):
08-45 Termékek-2

08-46 Városok (2) URL


Feladat leírás:
Városok között keresgélünk.
Hozz létre egy "08-46 Varosok.py" python fájlt.
Másold bele a mellékelt "varosok.txt" fájl tartalmát és a végén folytasd a program írását.

A programban találsz egy városok[] listát (benne a magyarországi települések nevével).
Írd ki a mintának megfelelően a 4 betűs város neveket.
A mellékelt fájlt innen töltheted le: varosok.txt
Végeredmény minta (részlet):
08-46 Városok

08-47 Olimpia (2) URL


Feladat leírás:
Nyári olimpiák évszámait gyűjtjük ki.
Hozz létre egy "08-47 Olimpia.py" python fájlt.
Ezek az évek azok, amelyekben nyári olimpiát rendeztek. A 2020-as olimpiát annak ellenére 2020-asnak nevezik, hogy a Covid miatt egy évvel később rendezték meg azt.
NyáriOlimpiaÉvek = [1896, 1900, 1904, 1908, 1912, 1920, 1924, 1928, 1932, 1936, 1948, 1952, 1956, 1960, 1964, 1968, 1972, 1976, 1980, 1984, 1988, 1992, 1996, 2000, 2004, 2008, 2012, 2016, 2020, 2024]

Programmal gyűjtsd ki a két világháború között tartott olimpiák évszámait a mintának megfelelően.
Az első világháború 1918-ban ért véget, a második világégés 1939-ben kezdődött.
Végeredmény minta (részlet):
08-47 Olimpia

08-48 Ábra (2) URL


Feladat leírás:
Karakteres ábrát derítünk fel.
Hozz létre egy "08-48 Abra.py" python fájlt.
Másold bele mellékelt "elemek.txt" fájl tartalmát és utána folytasd a program írását.

Írasd ki előbb az "elemek" lista páratlan sorszámú elemeit a konzolra, minden elemet külön sorba, majd csak a páros elemeket.
Két ábrát kell látnod eredményként.
A mellékelt fájlt innen töltheted le: elemek.txt
Végeredmény minta (részlet):
08-48 Ábra

08-49 Yoda (2) URL


Feladat leírás:
Karakteres ábrát derítünk fel.
Hozz létre egy "08-49 Yoda.py" python fájlt.
Másold bele mellékelt "ascii-rajz.txt" fájl tartalmát és utána folytasd a program írását.

Írasd ki a "rajz" lista elemeit a konzolra, minden elemet külön sorba úgy, hogy az "i*" karakterpár helyett szóközök legyenek.
Egy ábrát kell látnod eredményként.
A mellékelt fájlt innen töltheted le: ascii-rajz.txt
Végeredmény minta (részlet):
08-49 Yoda

08-50 Schreck (2) URL


Feladat leírás:
Karakteres ábrát derítünk fel.
Hozz létre egy "08-50 Schreck.py" python fájlt.
Másold bele mellékelt "ascii-rajz.txt" fájl tartalmát és utána folytasd a program írását.

Gyűjtsd ki a "rajz" listából azokat az elemeket, amelyeknek az indexe benne van ebben a listában:
indexek = [0, 3, 5, 7, 8, 9, 12, 13, 15, 16, 17, 20, 21, 24, 26, 28, 29, 30, 31, 34, 35, 37, 40, 41, 43]
Írd ki az így kapott lista elemeit a konzolra, minden elemet külön sorba úgy, hogy minden ".:" karakterpár helyett szóközök legyenek.
Egy ábrát kell látnod eredményként.
A mellékelt fájlt innen töltheted le: ascii-rajz.txt
Végeredmény minta (részlet):
08-50 Schreck

08-51 Szavazat (4) URL


Feladat leírás:
Szavazatokat számolunk össze.
Hozz létre egy "08-51 Szavazat.py" python fájlt.
Van egy hat fős társaság: Attila, Béla, Cecil, Dóra, Edit és Ferenc.
Az egyiket közülük válaszd ki véletlenszerűen vezetőnek. Írd ki a konzolra, hogy ki az.
Utána kérd be a felhasználótól a többi öt személy szavazásának eredményét: ha "I" vagy "i" azaz igen, akkor megszavazta, ha "N" vagy "n" azaz nem, akkor nem szavazta meg a kijelölt vezetőt.
Ezt követően írd ki a szavazás eredményét, miszerint a vezetőt a többség megszavazta-e vagy sem, és milyen arányban.
Ha a felhasználó nem I vagy N betűt adott meg (ez lehet kis vagy nagybetű is), akkor jelezd a hibát és álljon le a program.

A program kommunikációját a minta szerint szövegezd.
Végeredmény minta (részlet):
08-51 Szavazat-1
Végeredmény minta (részlet):
08-51 Szavazat-2
Végeredmény minta (részlet):
08-51 Szavazat-3
Ugrás az elejére