Python feladatok és tesztek (256 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
Az érettségi feladatokat a mellékletekkel, megoldásokkal együtt az Oktatási Hivatal weboldaláról vettük át. És van Online Python editor is :)

Tartalomjegyzék


99 Extrák URL


99-01 Szövegszín URL


Feladat leírás:
Hozz létre egy "99-01 Szovegszin.py" Python fájlt.
Írd ki az alábbi szöveget úgy, hogy a színeket jelentő szavak az adott színnel legyenek kiírva.
A szövegbekérésnél pedig a felhasználó által begépelt szöveg sárga (yellow) legyen.
Minden más szöveg az alapértelmezett színben maradjon.
A mellékelt fájlból indulj ki.
A mellékelt fájlt innen töltheted le: 99-01 Szövegszín.txt
Végeredmény minta (részlet):
99-01 Szövegszín

99-03 Csoportbontás URL


Feladat leírás:
Hozz létre egy "99-03 Csoportbontas.py" Python fájlt.
Kérj be neveket amíg üres sztringet nem ad meg a felhasználó.
Kérd be hány csoportra kell szétbontani a résztvevőket. Ha nem egész számot ad meg a felhasználó, vagy több csoportot, mint ahány résztvevő van, ezt jelezzük és kérjük be újra.
Véletlenszerűen oszd szét a résztvevőket a csoportokba, majd írd is ki őket.
Végeredmény minta (részlet):
99-03 Csoportbontás-0
Végeredmény minta (részlet):
99-03 Csoportbontás-1

99-04 Teknős URL


Feladat leírás:
Hozz létre egy "99-05 Teknos.py" Python fájlt.
A turtle modul segítségével hozz létre egy 400 x 400 pixel méretű rajztáblát.
A rajztábla fejlécében az szerepeljen, hogy "Rajztábla".
Rajzolj a minta szerit egy 100 x 100 pixeles négyzetet.
Végeredmény minta (részlet):
99-04 Teknős

99-05 Teknős URL


Feladat leírás:
Hozz létre egy "99-05 Teknos.py" Python fájlt.
A turtle modul segítségével hozz létre egy 400 x 400 pixel méretű rajztáblát.
A rajztábla fejlécében az szerepeljen, hogy "Rajztábla" és a háttérszíne halványsárga (lightyellow) legyen.
Rajzolj a minta szerit középre egy 100 x 100 pixeles négyzetet, kék vonallal és sárga kitöltéssel.
A négyzet fölé írd ki kék vonallal, 16-os betűmérettel, hogy "Színes négyzet:".
Rajzolás után ha belekattintunk az ablakba, a rajztábla záruljon be.
Végeredmény minta (részlet):
99-05 Teknős

99-06 Csoportbontás fájlból URL


Feladat leírás:
Hozz létre egy "99-06 Csoportbontás fajlbol.py" Python fájlt.
A mellékelt "_group.txt" UTF-8 kódolású fájlból olvasd be a neveket és írd ki, hogy hány főt tartalmaz a lista. A fájlban nincsenek üres sorok.
Kérd be hány csoportra kell szétbontani a résztvevőket. Ha nem egész számot ad meg a felhasználó, vagy több csoportot, mint ahány résztvevő van, ezt jelezzük és kérjük be újra.
Véletlenszerűen oszd szét a résztvevőket a csoportokba, majd írd is ki őket, más színnel kiemelve a névsor elején álló vezetőket.
Végeredmény minta (részlet):
99-06 Csoportbontás fájlból-0
Végeredmény minta (részlet):
99-06 Csoportbontás fájlból-1

99-07 Teknős színusz URL


Feladat leírás:
Hozz létre egy "99-07 Teknős színusz.py" Python fájlt.
A turtle modul segítségével hozz létre egy 400 x 400 pixel méretű rajztáblát.
A rajztábla fejlécében az szerepeljen, hogy "Színusz" és a háttérszíne halványsárga (lightyellow) legyen.
Készíts rajzot a minta szerint: a koordináta tengelyeket kékkel a színusz görbét pedig piros, 3px széles vonallal.
Rajzolás után ha belekattintunk az ablakba, a rajztábla záruljon be.
Végeredmény minta (részlet):
99-07 Teknős színusz

99-08 Átváltások URL


Feladat leírás:
Hozz létre egy "09-08 Atvaltasok.py" Python fájlt.
A program mérték-számokkal készít feladatokat megoldásokkal együtt: mili, mikro, kilo, mega, giga stb
A mintának megfelelően tájékoztasd a felhasználót a program működéséről,
majd a minta szerint kérdezd meg, hány feladatot szeretne generálni.
Ezt követően a minta szerint generálj három tényezős, csak osztást és szorzást tartalmazó feladatokat.
Egy feladat se ismétlődjön, és a második és harmadik tényező ne legyen 1.
Végeredmény minta (részlet):
09-08 Átváltások-0
Végeredmény minta (részlet):
09-08 Átváltások-1

99-09 Teknős ház URL


Feladat leírás:
Hozz létre egy "99-09 Teknos haz.py" Python fájlt.
A turtle modul segítségével hozz létre egy 400 x 400 pixel méretű rajztáblát.
A rajztábla fejlécében az szerepeljen, hogy "Ház" és a háttérszíne halványsárga (lightyellow) legyen.
Készíts rajzot a minta szerint.
Rajzolás után ha belekattintunk az ablakba, a rajztábla záruljon be.
Végeredmény minta (részlet):
99-09 Teknős ház

99-10 Teknős spirál URL


Feladat leírás:
Hozz létre egy "99-10 Teknos spiral.py" Python fájlt.
A turtle modul segítségével hozz létre egy 400 x 400 pixel méretű rajztáblát.
A rajztábla fejlécében az szerepeljen, hogy "Spirál" és a háttérszíne halványsárga (lightyellow) legyen.
Készíts rajzot a minta szerint.
Rajzolás után ha belekattintunk az ablakba, a rajztábla záruljon be.
Végeredmény minta (részlet):
99-10 Teknős spirál

99-11 Teknős színes négyzetek URL


Feladat leírás:
Hozz létre egy '99-11 Teknos szines negyzetek.py' Python fájlt.
Rajzoltass ki a véletlenszerű helyekre, véletlenszerű méretben és színekkel 40 négyzetet.
Végeredmény minta (részlet):
99-11 Teknős színes négyzetek

99-13 Hatszögek URL


Feladat leírás:
Egy játék megoldásait keressük.
Hozz létre egy "99-13 Hatszogek.py" Python fájlt.
Írj egy programot, amely a mellékelt képen látható játék megoldását illetve megoldásait keresi meg.
A játék lényege, hogy úgy kell a táblán elhelyezni a hét kis hatszögletű elemet, hogy minden bohócarc, amely egymással szembe került, azonos színű legyen.
Az elemek a táblán elforgathatók és egymással felcserélhetők.
A mellékelt ábrán látható a játék, de helytelenül kirakva.
Segítségként megadjuk az elemeket egy listában, ahol a rajtuk levő bohócok színe az óramutató járása szerinti sorrendben van megadva.
A színkódok: c=citrom, n=narancs, p=piros, z=zöld, l=lila, k=kék
elemLista = ['cnpzlk', 'czpnkl', 'cknlzp', 'cpklzn', 'cklpnz', 'ckzpln', 'clzkpn']
Végeredmény minta (részlet):
Hatszogek

99-14 Angol rendhagyó igék URL


Feladat leírás:
A program tesztelje a felhasználó angol rendhagyó igékkel kapcsolatos tudásodat.
Hozz létre egy "99-14 Angol rendhagyo igek.py" python fájlt.
Olvasd be az angol rendhagyó igék listáját az "irregularEnglishVerbs.txt" utf-8 kódolású mellékelt fájlból - lásd itt alább a feladatleírás után.
A fájlban TAB-bal elválasztva soronként egy-egy angol ige első, második és harmadik alakja található.
Véletlenszerűen válasszon ki a program egy igét, írja ki az ige első alakját és kérdezzen rá a másik két alakjára.
Ezt tegye meg 10-szer egymás után. Minden esetben írjuk ki, hányadik körben vagyunk és jegyezzük meg a helyes és helytelen válaszokat.
Egy meneten belül ne ismétlődjön ugyanaz az ige.
A 10. kör után írjuk ki hány helyes és hány helytelen válasz volt, ez hány %-os eredmény, és írjuk ki az elrontott válaszok helyes megoldásait is.
Ha tudsz, használj színes kiírásokat, használva a 'colorama' modult.
A mellékelt fájlt innen töltheted le: irregularEnglishVerbs.txt

99-15 Fájlból lista URL


Feladat leírás:
Hozz létre egy "99-15 Fajlbol lista.py" python fájlt.
Generáljunk egy 2500 adatot tartalmazó szöveges fájlt "_data.txt" néven, amelyben véletlenszerű variációi vannak az alábbi adatoknak:
Családnév Keresztnév;Születési dátum;Város;Foglalkozás

A generálás során vegyük figyelembe az alábbi szempontokat:
- Az életkorok 19-64 év között legyenek
- A férfiak:nők aránya 3:2
- Női szakmákat csak női nevekhez rendeljünk és ugyanígy a férfiaknál is
- A generáláshoz használjuk a mellékelt adatfájlokat, amelyekben TAB-okkal elválasztva soronként az első adat a név/megnevezés, a második adat az előfordulási arányszám és a szakmáknál (Job.txt) a harmadik adat ha van, akkor azt jelzi, hogy az adott szakma kimondottan női vagy férfi szakma-e.

Alapadatoknak használd a mellékelt fájlokat: Family.txt, Male.txt, Female.txt, Job.txt, City.txt.
A program kommunikációját a mintának megfelelően alakítsd ki.
A mellékelt fájlt innen töltheted le: City.txt
A mellékelt fájlt innen töltheted le: Family.txt
A mellékelt fájlt innen töltheted le: Female.txt
A mellékelt fájlt innen töltheted le: Job.txt
A mellékelt fájlt innen töltheted le: Male.txt

99-16 Ki felel URL


Feladat leírás:
Tanulókat választunk ki véletlenszerűen, akik ma felelnek.
Hozz létre egy "99-16 Ki felel.py" python fájlt.
Töltsd le a mellékelt txt fájlokat. A fájlok nevei az osztályok és tartalmazák a névsort, és a tanulók Python és HTML osztályzatát.
A fájlokban az első sor fejléc.
A mintáknak megfelelően először kérdezd meg melyik osztályt választjuk.
Utána kérdezd meg, hogy felelőt kell-e választani vagy információt kell kiírni.
Ha információt kell kiírni, akkor a minta szerint írd ki a teljes névsort az osztályzatokkal együtt.
Ha felelőt kell választani, akkor kérdezd meg melyik tárgyból (python vagy html) és hány diákot.
A véletlen választásnál annál nagyobb valószínűséggel szerepeljen valaki, minél rosszabb a jegye, de mindenkinek legyen esélye a kiválasztásra, a legjobbaknak is.
A kiválastott neveket behúzással írd ki, abc sorrendben, majd kérdezd meg, hogy generáljunk-e új felelőket és ha igen, hányat.
Nulla megadása esetén álljon le a program.
Abban biztosak lehetünk, hogy a felhasználó mindig helyes adatokat ad meg, azokat nem kell ellenőrizni.
A program kommunikációját a mintának megfelelően szövegezd.
A mellékelt fájlt innen töltheted le: 9A.txt
A mellékelt fájlt innen töltheted le: 9B.txt
A mellékelt fájlt innen töltheted le: 9C.txt
Végeredmény minta (részlet):
99-16 Ki felel-0
Végeredmény minta (részlet):
99-16 Ki felel-1
Végeredmény minta (részlet):
99-16 Ki felel-2

99-17 Kvíz URL


Feladat leírás:
Kvíz programot készítünk.
Hozz létre egy "99-17 Kviz.py" python fájlt.
1. Válassz egy témát, amelyhez írni kell 100 kérdést, kérdésenként 2 rossz és 1 jó választ. Ez lesz A kvíz program tartalmi alapja.
2. A 100 kérdést integráld egy listába. A listából 3 kérdést tegyél fel a felhasználónak és írd ki, hogy a válasz helyes vagy sem.
3. A kérdések véletlenszerűen legyenek kiválasztva.
4. A kérdéseket külső fájlból olvasd be.
5. További 100 kérdéssel egészítsd ki az adatfájlt.
6. A programot csak regisztrált résztvevő használhassa. (Belépés/regisztráció)
7. Legyen elfelejtett jelszó lehetőség is, és tájékoztasd a felhasználót a regisztrációs kritériumokról pl.jelszó: Kis-nagy betű, megfelelő hossz, karaktertípusok.
8. A belépett játékos játékának eredményét rögzítsd egy adatfájlban.
9. A rögzített adatok alapján készíts különböző, legalább 5-féle statisztikát.

99-18 IP-maszk URL


Feladat leírás:
Megadott maszk bitszám alapján számolunk ki maszk adatokat.
Hozz létre egy "99-18 IP-maszk.py" python fájlt.
Kérj be a felhasználótól egy maszk bit számot. Ellenőrizd, hogy a szám 0 és 31 között van-e. Ha nem, akkor írd, ki, hogy helytelen a szám.
Ha megfelelő számot adott meg, akkor írd ki a maszkot binárisan, decimálisan, és azt, hogy hány IP cím oszható ki ezzel a maszkolással.
A kommunikációt a mintának megfelelően szövegezd.
Végeredmény minta (részlet):
99-18 IP-maszk-0
Végeredmény minta (részlet):
99-18 IP-maszk-1

99-94 Weboldal adatolvasás URL


Feladat leírás:
Egy egyszerű weboldalt készítünk, amelyből érkező adatokat a Python visszaírja az oldalra.
Készíts egy '99-94 Weboldal.py' Python fájlt.

Oldd meg, hogy weboldalon a mintának megfelelően jelenjenek meg az adatok.
Az üdvözlő szövegben szerepeljen a név. Az életkort csak akkor írjuk ki, ha nem nulla.
Gondoskodj arról, hogy a begépelt adatok a beküldés után is maradjanak az input mezőkben.
Kiindulásként használd a mellékelt fájlokat.
Forrásfájlok (zip)
Végeredmény minta (részlet):
99-94 Weboldal adatolvasás-0
Végeredmény minta (részlet):
99-94 Weboldal adatolvasás-1


99-95 Weboldal URL


Feladat leírás:
Egy egyszerű weboldalt készítünk, amelyen dinamikus adatok jelennek meg.
Készíts egy '99-95 Weboldal.py' Python fájlt.
Adottak az alábbi változók:
name = 'Ernő'
cities = ['Budapest', 'Győr', 'Eger', 'Pécs', 'Szeged']
users = [{'name':'Imre', 'age':26}, {'name':'Kata', 'age':32}, {'name':'Tibor', 'age':28}]
ageLimit = 30

Oldd meg, hogy weboldalon a mintának megfelelően jelenjenek meg az adatok.
A felhasználóknál az ageLimit-nél idősebbek felnőttek, a többiek gyerekek.
Kiindulásként használd a mellékelt fájlokat.
Forrásfájlok (zip)
Végeredmény minta (részlet):
99-95 Weboldal


99-96 Tkinter funkciók URL


Feladat leírás:
Készíts egy Python programot "99-96 Tkinter funkciok.py" néven, amelyben bemutatod a "tkinter" modul alapvető képességeit.
A programkódot lásd el bőven megjegyzésekkel, és a programkód elejébe írd bele megjegyzésként, hogy ki a szerző, melyik osztályba jár és mi a fejlesztés dátuma.
Pl.:
""" Szerző: X Y, 15Da
Dátum: 2022.10.10.
"""

99-97 Turtle funkciók URL


Feladat leírás:
Készíts egy Python programot "99-97 Turtle funciok.py" néven, amelyben bemutatod a "turtle" modul képességeinek 10 utasítását.
A programkódot lásd el bőven megjegyzésekkel, és a programkód elejébe írd bele megjegyzésként, hogy ki a szerző, melyik osztályba jár és mi a fejlesztés dátuma.
Pl.:
""" Szerző: X Y, 15Da
Dátum: 2022.10.10.
"""

99-98 Wikipedia funkciók URL


Feladat leírás:
Készíts egy Python programot "99-98 Wikipedia funkciok.py" néven, amelyben bemutatod a "wikipedia" modul képességeinek 10 utasítását.
A programkódot lásd el bőven megjegyzésekkel, és a programkód elejébe írd bele megjegyzésként, hogy ki a szerző, melyik osztályba jár és mi a fejlesztés dátuma.
Pl.:
""" Szerző: X Y, 15Da
Dátum: 2022.10.10.
"""

99-99 Wikipedia keresés URL


Feladat leírás:
Hozz létre egy "99-99 Wikipedia.py" Python fájlt.
A mintának megfelelően tájékoztasd a felhasználót a program működéséről,
majd a mellékelt "_namelist.txt" UTF-8 kódolású fájlból olvasd be az ott található neveket.
Hozz létre egy "_namedata.txt" nevű, UTF-8 kódolású fájlt, amelybe írd ki ezeket a neveket a születési és halálozási adataikkal együtt - a talált szövegben az első záró zárójelig.
A megoldáshoz használd/használhatod a "wikipedia" modult, amelyet a parancssorban futtatott "pip install wikipedia" paranccsal tudsz telepíteni.
A találatok nem lesznek minden esetben pontosak, mert sajnos a wikipédia oldalak nem szabványosak.
Végeredmény minta (részlet):
99-99 Wikipedia keresés
Ugrás az elejére