Python feladatok és tesztek (249 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


06 Műveletek listákkal URL


06-00 Műveletek listákkal - teszt URL


Feladat leírás:
A lista (list) egy összetett adattípus, azaz egy változó több adatelemet foglal magában. Szögletes zárójelek közé írjuk az elemeket, egymástól vesszővel elválasztva.
Az elemek indexelhetők, ezért az értékek ismétlődhetnek. A lista eleme lehet lista is.

len(lista) - a lista elemeinek darabszáma
sum(lista) - a lista elemeinek összege
min(lista) - a lista legkisebb eleme
max(lista) - a lista legnagyobb eleme
x in lista - az x elem benne van-e a listában
lista[-n] - a lista hátulról n-edik eleme
lista[n] - a lista n-edik eleme (a sorszámozás nullával kezdődik)
lista[n:m] - rész-lista az n-edik elemmel kezdve és m-ediket már nem belefoglalva (a sorszámozás nullával kezdődik)
lista[::n] - a lista minden n-edik eleme (nullával kezdődik a sorszámozás)
lista[::-1] - a lista megfordítása
lista[n] = x - a lista n-edik elemének cseréje x-re
lista.append(x) - Az x értéket felveszi a lista végére
lista.clear() - törli a lista összes elemét
lista.copy() - létrehozza a lista másolatát
lista.count(x) - visszaadja, hogy az x értékből hány példány van a listában
lista.index(x) - visszaadja az x érték első előfordulásának az indexét
lista.insert(n, x) - beszúrja az x értéket a lista n-edik helyére
lista.remove(x) - törli a listából az x elem első előfordulását
lista.reverse() - megfordítja a lista elemeinek a sorrendjét
lista.sort() - emelkedő sorba rendezi a lista elemeit
lista1 + lista2 - listák összefűzése
lista * n - a lista elemeinek megtöbbszörözése n-szer

szöveg.split() - egy szövegből készít listát. A lista elemeit a szövegből szóközök mentén tagolja.
szöveg.split("\n") vagy szöveg.splitlines()- egy szövegből készít listát. A lista elemeit a szövegből sortörések mentén tagolja.
a, b, c = lista - a lista elemeit adja értékül a változóknak. Fontos, hogy annyi változó kell legyen, ahány eleme van a listának.
print(*lista) - egy lista elemenkénti kiírása

Példa:
üresLista = []
számLista = [10, 20, 30, 40]
vegyesLista = [1, 'ablak', [], True, None, 1.5]

Oldd meg az alábbi űrlap feladatait: 06 Műveletek listákkal - teszt

06-01 Lista információk URL


Feladat leírás:
Hozz létre egy "06-01 Lista informaciok.py" Python fájlt.
Adott az alábbi lista:
data = [3, 45, 6, 8, 324, 56, 23, 45, 98, 777, 678, 83, 65, 98]
A mintának megfelelő módon írjuk ki:
- hány elem van a listában
- a lista első elemét
- a lista utolsó elemét
- a lista harmadik és ötödik elemének az összegét
- a lista legkisebb értékét
- a lista legnagyobb értékét
- a lista elemeinek az összegét
- a lista elemeinek az átlagát
Akkor is helyesen működjön a program, ha módosítjuk a listát!
Végeredmény minta (részlet):
06-01 Lista információk

06-02 Lista információk URL


Feladat leírás:
Hozz létre egy "06-02 Lista informaciok.py" Python fájlt.
A mellékelt forráskódot egészítsd ki, hogy a 'data' listáról írja ki az alábbi információkat a mintának megfelelően:
- hány elem van a listában
- a lista legnagyobb értékét
- a lista első elemét
- a lista utolsó előtti elemét
- a lista első és utolsó előtti elemének a szorzatát
- a lista második és harmadik elemének a különbségét
- a lista legkisebb értékének a dupláját
- a lista elemeinek az összegét
- a lista elemeinek az átlagát
Természetesen a generált véletlen számok minden futtatáskor mások lesznek, így a mintában mutatott konkrét értékek nem mérvadóak.
A mellékelt fájlt innen töltheted le: 06-02 Lista információk.txt
Végeredmény minta (részlet):
06-02 Lista információk

06-03 Lista részek URL


Feladat leírás:
Hozz létre egy "06-03 Lista reszek.py" Python fájlt.
Adott a lentebbi 'data' lista. Írasd ki
- a tizedik elemét
- a másodiktól az ötödik eleméig
- az utolsó előtti elemét
- az első három elemét
- az utolsó három elemét
- a kilencvenhetedik elemétől a végéig

data = [373, 919, 604, 657, 316, 184, 838, 751, 318, 279, 664, 181, 466, 159, 534, 732, 872, 848, 120, 880, 602, 842, 889, 930, 200, 185, 199, 375, 974, 922, 593, 342, 199, 617, 798, 503, 978, 210, 311, 866, 810, 484, 732, 778, 120, 661, 858, 178, 438, 126, 659, 867, 348, 432, 101, 431, 566, 595, 562, 473, 785, 546, 141, 922, 563, 601, 170, 544, 243, 905, 217, 359, 141, 789, 974, 588, 419, 502, 582, 672, 221, 210, 620, 256, 385, 373, 298, 223, 159, 962, 900, 585, 686, 662, 272, 715, 941, 816, 662, 354]
Végeredmény minta (részlet):
06-03 Lista részek

06-04 Listák összevetése URL


Feladat leírás:
Hozz létre egy "06-04 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. Melyikben szerepel többször a 10-es szám
3. 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):
06-04 Listák összevetése

06-05 Szavak száma URL


Feladat leírás:
Hozz létre egy "06-05 Szavak szama.py" Python fájlt.
A programban olvass be egy szöveget és írd ki, hogy hány szóból áll.
Abban biztosak lehetünk, hogy a begépelt szavakat szóközök választják el egymástól.
Végeredmény minta (részlet):
06-05 Szavak száma

06-06 Sorbarendezés URL


Feladat leírás:
Számokat olvasunk be és rendezve írjuk ki.
Hozz létre egy "06-06 Sorbarendezes.py" Python fájlt.
Olvass be öt egyjegyű egész számot egy beolvasással, a számokat pontosvesszővel és szóközökkel elválasztva.
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, dupla kisebb jellel és szóközökkel elválasztva.
A beolvasáshoz és kiíráshoz lásd a mintát.
Végeredmény minta (részlet):
06-06 Sorbarendezés

06-07 Lista módosítása URL


Feladat leírás:
Egy megadott listát módosítunk.
Hozz létre egy "06-07 Lista modositasa.py" Python fájlt.
Adott a 'data' lista: data = [20, 10, 30, 50, 40]
1. Tájékoztasd a felhasználót a program működéséről a mintának megfelelően!
2. Írasd ki a listát a konzolra a mintának megfelelően!
3. Kérj be a felhasználótól egy kétjegyű számot és azt szúrd be a lista második helyére! A felhasználó jó számot ad meg, azt nem kell ellenőrizni.
4. Írd ki a módosított listát!
5. Kérd be a felhasználótól, hogy melyik elemet akarja törölni! A felhasználó meglévő elemet ad meg, azt nem kell ellenőrizni.
6. Töröld a kért elemet a listából és írd ki újra a listát!
7. Rendezd a listát és írd ki újra!
8. Fordítsd meg a lista elemeinek a sorrendjét és írd ki újra!
Végeredmény minta (részlet):
06-07 Lista módosítása-0
Végeredmény minta (részlet):
06-07 Lista módosítása-1

06-10 Szavak fordítva URL


Feladat leírás:
Szövegben fordítjuk meg a szavak sorrendjét.
Hozz létre egy "06-10 Szavak forditva.py" Python fájlt.
A programban olvass be egy szöveget és írd ki úgy, hogy a szavak fordított sorrendben szerepeljenek.
Abban biztosak lehetünk, hogy a begépelt szavakat szóközök választják el egymástól.
A beolvasást és kiírást a mintának megfelelően szövegezd!
Végeredmény minta (részlet):
06-10 Szavak fordítva

06-11 Könyvek URL


Feladat leírás:
Könyvek adatait dolgozzuk fel.
Hozz létre egy "06-11 Konyvek.py" Python fájlt.
Kérd be egy könyv címét és a kiadás évét egyetlen beolvasással, majd írd ki, hogy ha a könyv új, azaz a kiadás éve 2022 vagy későbbi.
Utána kérdezd meg, hogy akar-e új könyvet megadni (i/n). Addig ismételd a beolvasást, amíg a felhasználó i-t ad meg.
A program kommunikációját a mintának megfelelően szövegezd.
Abban biztosak lehetünk, hogy a felhasználó szóközökkel választja csak el a szavakat és az évszámot
Végeredmény minta (részlet):
06-11 Könyvek-0
Végeredmény minta (részlet):
06-11 Könyvek-1

06-12 Névelemzés URL


Feladat leírás:
Megadott neveket elemzünk.
Hozz létre egy "06-12 Nevelemzes.py" Python fájlt.
A program induláskor kérjen be egy nevet és egy születési évszámot, majd írja ki hány keresztneve van az illetőnek, és 2030-ban hányadik születésnapja lesz.

A program kommunikációját a mintának megfelelően szövegezd.
Abban biztosak lehetünk, hogy a felhasználó egy-egy szóközzel választja csak el a szavakat és a születési évszámot.
Végeredmény minta (részlet):
06-12 Névelemzés-0
Végeredmény minta (részlet):
06-12 Névelemzés-1
Ugrás az elejére