Tantárgy áttekintése
A programozás alapjai tantárgy célja az algoritmikus gondolkodás és az alapvető programozási technikák elsajátítása. A tantárgy keretében megismerkedtünk a strukturált programozás elveivel és a Python nyelv alapjaival.
Főbb témakörök
- Algoritmusok tervezése és folyamatábrák készítése
- Változók, adattípusok, konstansok
- Szekvencia, szelekció, iteráció – vezérlési szerkezetek
- Listák és szótárak használata
- Függvények, paraméterátadás
- Fájlkezelés alapjai
Adattípusok és változók
Pythonban a változók típusát nem kell előre megadni – a típus automatikusan meghatározódik az értékadáskor. Ez dinamikus típusozást jelent.
| Adattípus | Kulcsszó | Példa érték | Példa változó |
|---|---|---|---|
| Egész szám | int | 19, -5, 100 | kor, darab |
| Lebegőpontos | float | 178.5, 3.14 | magassag, ar |
| Logikai | bool | True / False | aktiv, beleptetve |
| Szöveg | str | ‘Richárd’ | nev, cim |
| Lista | list | [1, 2, 3] | szamok, nevek |
| Szótár | dict | {‘nev’: ‘Ricsi’} | jatekos, adat |
Változók Pythonban
PYTHON · Változók deklarálása# Változók – típusmegjelölés nélkül nev = 'Faragó Richárd' kor = 19 magass = 178.5 aktiv = True print(f'Név: {nev}, Kor: {kor}')
Vezérlési szerkezetek
Szelekció – if / elif / else
A feltételes elágazás lehetővé teszi, hogy a program különböző utasítások végrehajtásával reagáljon különböző feltételekre.
if kor >= 18: print('Nagykorú') elif kor >= 14: print('Tini') else: print('Kiskorú')
Iteráció – ciklusok
| Ciklus | Mikor használjuk |
|---|---|
| for | Ismert lépésszám, lista bejárása |
| while | Feltételtől függ, akár 0-szor is fut |
# FOR ciklus: 1-től 10-ig összegzés osszeg = 0 for i in range(1, 11): osszeg += i # WHILE ciklus: pozitív szám bekérése szam = 0 while szam <= 0: szam = int(input('Adj meg pozitív számot: '))
Listák és rendezés
A lista azonos vagy vegyes típusú elemek sorozata, amelyeket indexeléssel érhetünk el. Pythonban a lista dinamikus – mérete futás közben változhat.
Buborékrendezés (Bubble Sort)
PYTHON · Buborékrendezésa = [5, 3, 8, 1, 9, 2] n = len(a) # Rendezés növekvő sorrendbe for i in range(n): for j in range(0, n - i - 1): if a[j] > a[j + 1]: a[j], a[j + 1] = a[j + 1], a[j]
Függvények
A függvények lehetővé teszik a kód újrafelhasználását és az átlátható programszerkezet kialakítását. Pythonban a def kulcsszóval definiálunk függvényt.
# Egyszerű függvény – üdvözlés def udvozles(nev): print(f'Üdvözöllek, {nev}!') # Visszatérési értékkel – faktoriális def faktorial(n): if n <= 1: return 1 return n * faktorial(n - 1) # Használat udvozles('Richárd') print(f'5! = {faktorial(5)}')
Projektfeladat
A projekt feladatot Python nyelven írtam meg. A feladat célja, hogy egy válogatott játékosunk beírása után az adott játékosról kapunk információt – mint például melyik poszton szerepel, melyik klubban játszik, hány gólt rúgott, illetve hányszoros válogatott.
Mivel a projektfeladat a 2022/23-as tanévben készült el, az abban szereplő adatok azóta megváltozhattak.
txt fájl
Kód
jatekosok=[] with open("Válogatott Játékosok.txt") as forrásfájl: for sor in forrásfájl: sor = sor.strip().split() sor[2] = int(sor[2]) sor[3] = int(sor[3]) jatekosok.append(sor) def MENU(): print(""" ********************MENÜ******************** *1, Játékosok Megtekintése * *2, Játékos statisztika * *3, Kilépés * ******************************************** A programban szereplő adatok 2024 márciusig érvényesek """) valasztas=int(input("Kérem a menü számát:")) return valasztas #------------------------------------------------------------------------------- def statisztika(): i=0 keresett_nev=input("Kérem a keresett játékost:") while i<(len(jatekosok)) and jatekosok[i][0]!=keresett_nev: i=i+1 if i<(len(jatekosok)): print("A játékos szerepel") print("A játékos a",jatekosok[i][4],"klubban szerepel") print("A játékos",jatekosok[i][2],"szeres/szoros/szörös válogatott játékos") print("A játékos",jatekosok[i][3]," gólt rúgott") print("A játékos posztja",jatekosok[i][1],) input("A folytatáshoz nyomja meg az Entert") else: print("A játékos nem szerepel") input("A folytatáshoz nyomja meg az Entert") while True: valasztas = MENU() if valasztas == 1: for jatekos in jatekosok: print(jatekos[0]) input("A folytatáshoz nyomja meg az Entert") elif valasztas == 2: statisztika() elif valasztas == 3: print("Viszlát!") break else: print("Nincs ilyen menüpont.")