Python

Adattípusok

  • int (integer) egész szám
    • a = 5
    • x = -4
  • float valós szám, tizedestört
    (tizedespontot kell használni tizedesvessző helyett!)
    • b = 3.0
    • b = 3.43
  • str (string) szöveg, karakterlánc
    (minden szöveget mindig, mindenhol idézőjelben kell megadni! két féle idézőjelet használhatunk: SHIFT+2, SHIFT+1)
    • s="Szia!"
    • f2="2. feladat"
  • bool (boolean) True (=1=igaz) / False (=0=hamis)
    Logikai vizsgálatok eredménye lehet True, vagy False
    • 3==3 : True (3 egyenlő-e 3-mal: igaz)
    • 3==4 : False (3 egyenlő-e 4-el: nem igaz
    • 3>=4 : False (3 nagyobb, egyenlő 4-nél: nem igaz)
    • 6%2==0 : True (6 osztva 2-vel maradéka egyenlő-e 0-val: igaz)
    • 7%2==0 : False (7 osztva 2-vel maradéka egyenlő-e 0-val: nem igaz)
  • list / array lista, tömb
    • adatok = [] : adatok nevű üres lista létrehozása
    • szamok = [2, 4, 3, 6] : szamok[1] == 4, (1-es sorszám a 2. elemet jelöli, mert nullától kezdi a listaelemek indexelését)
      n = len(szamok) : a szamok lista elemeinek számát adja meg.
    • napok = ["V", "H", "K", "Sze", "Cs", "P", "Szo", "V"] : napok[1] == 'H', mert nullától kezdi a listaelemek indexelését. Ebben az esetben praktikus pont emiatt a 'H' elem helyett a 'V' elemmel kezdeni a listát.
  • tuple tuple
    kisebb memóriát foglal, mint a list, de nem módosítható, konstans
    • napok = ("V", "H", "K", "Sze", "Cs", "P", "Szo", "V") : mivel a napok listát nem akarjuk a programban megváltoztatni, ezért memóriahasználat optimalizálása miatt érdemes lista helyett tuple típust választani.
      Elemek kiíratása ugyanúgy történik: napok[1] == 'H'
  • set halmaz
    nem rendezett. minden elem egyszer szerepel akkor is, ha többször rakjuk bele
    • gyumolcs = {"alma", "banán", "körte", "alma", "narancs"} valójában csak 4 elemű, mert hiába raktuk bele az alát kétszer, a másodikat nem veszi figyelembe.
      Ezt jelenti: gyumolcs = {"alma", "banán", "körte", "narancs"}
  • dict (dictionary) szótár, címezhető (asszociatív tömb)
    • auto = {"brand": "Ford", "model": "Mustang", "year": 1964} Elemek kiírása: auto['brand'] == 'Ford'

A list, set, tuple, dict elemeinek kiíratása és for, while ciklusokban a használatuk lényegében ugyanúgy történik, ezért pl. a for menüpontban a listákról irottak alkalmazhatóak a többi adatszerkezetre is.

gyakran használt függvények

FONTOS: Minden függvény neve után közvetlenül, szóköz nélkül zárójelet kell tenni! A zárójelbe írjuk a függvény paramétereit.

  • print() kiíratás a képernyőre
    print(3+2) összeadja a két számot és az eredményt kiírja
    print("3+2") az idézőjelek között megadott karaktersorozatot, szöveget írja ki.
    print("Szia", keresztnev)vesszővel elválasztva több dolgot is kiírathatunk egyszerre. Ebben a példában a keresztnev egy változó, amelyet természetesen a programban a print függvény előtt meg kell adni.
    sep="" paraméterrel tudjuk meghatározni a felsorolt kiírandó elemek közötti elválasztó karaktert (alapértelmezetten a szóköz)
    end="" paraméterrel tudjuk meghatározni a kiírás végére tett karaktert (alapértelmezetten a sortörés, azaz minden print() fv új sorban ír ki)
  • input() szöveg beolvasása billentyűről
    paraméterként megadhatjuk a felhasználónak szánt kérdést, kérést vagy utasítást
    x = input("Add meg az x értékét!")
    Fontos megjegyezni, hogy a beolvasott érték mindig szövegformátumú, ezért számok beolvasásakor ne felejtsük el használni az int(), vagy float() függvényeket a számmá alakításhoz!
    x = int(input('Add meg az egész számot!')) Egész szám beolvasása függvénybeágyazással: int() függvényben input() függyvény
    x = float(input('Add meg a valós számot!')) Valós szám beolvasása függvénybeágyazással: float() függvényben input() függyvény
  • int() szövegből egész számmá alakításx = int(x)(pl. az x="3" szövegből x=3 egész számot hoz létre)
  • float() szövegből valós számmá (tizedestörtté) alakításx = float(x)(pl. az x="3" szövegből x=3.0 valós számot hoz létre)
  • str() szöveggé alakítás (Az int() és a float() függvények ellenkezőjét csinálja)
  • range() számsorozatot hoz létre ciklusok használatához
    Ha paraméternek egy darab számot (pl. n) adunk meg, akkor 0-tól n-ig számol és létrehoz egy n elemű sorozatot range(3) = [0, 1, 2]
    Ha két számot adunk meg, akkor nulla helyett az első számtól kezdi a számsorozatot range(3, 7) = [3, 4, 5, 6]
    Ha három számot adunk meg, akkor az első számtól kezdi a számsorozatot a harmadikként megadott lépésközzel range(0, 12, 3) = [0, 3, 6, 9, 12]
    Három szám megadásával csökkenő sorozatot is megadhatunk: range(20, 16, -1) = [20, 19, 18, 17]

  • Ha nulláig akarunk vissza számolni, akkor -1-et adjunk meg második számnak! range(2, -1, -1) = [2, 1, 0]
  • len() megadja az adott szöveg, lista, range, tömb, stb hosszát
    len("szia") = 4, mert 4 karakterből áll a szia
    # adatok=[2, 5, 3]
    len(adatok) = 3, mert 3 eleme van az adatok listának
  • min(n1, n2, n3, ...) A megadott számok közül visszaadja a legkisebbet
    min(3,4,2,6) = 2
  • max(n1, n2, n3, ...) A megadott számok közül visszaadja a legnagyobbat
    max(3,4,2,6) = 6
  • round(x, t=0) kerekít. ha a második számot nem adjuk meg, akkor 0 tizedesre kerekít.
    round(3.423) = 3
    round(3.428, 2) = 3.43
  • abs() abszolutérték.
    abs(3.423) = 3.423
    abs(-3.423) = 3.423
  • enumerate() listából, vagy más for ciklusban végigjárható adatszerkezetből készít sorszámozott objektumot a for ciklus használatához.
    for i, elem in enumerate(listanev):
    Lásd a for ciklusok menüpontot!

Matematikai függvények

Ha matematikai függvényt használunk, akkor a program elején meg kell hívni a math modult az import math utasítással

  • math.floor(x) lekerekít.
    math.floor(3.423) = 3
    math.floor(3.765) = 3
  • math.ceil(x) felkerekít.
    math.ceil(3.423) = 4
    math.ceil(3.765) = 4

Random (véletlen) függvények

Ha random függvényt használunk, akkor a program elején meg kell hívni a random modult az import random utasítással

  • random.randint(x,y) x-től és y-ig véletleszerűen kisorsol egy számot.
    dobas = random.randint(1, 6) = dobokocka dobást szimulál és 1-től 6-ig kidob egy számot
  • random.choice(listanev) A zárójelben egy listát adunk meg és a lista elemei közül sorsol egyet.
    # oldal = ['fej', 'írás']
    dobas = random.choice(oldal) = pénzfeldobást szimulál és fej, vagy írást ad eredményül.
  • random.random() 0-tól 1-ig véletleszerűen kisorsol egy valós (tizedes) számot. Ez a függvény sok tizedesjegyet használ, így szinte végtelen lehetőségből sorsol

Listát kezelő függvények

Minden listát kezelő függvényt úgy adunk meg, hogy a függvény neve elé ponttal összekapcsolva odaírjuk annak a listának a nevét, amelyen alkalmazni szeretnénk (az alábbi példákban legyen a lista neve L1, de természetesen az adott feladatban az L1 helyére mindig a saját listánk nevét kell beírni.

  • append(elem) A lista végéhez hozzáad egy elemet.
    szamok.append(5) = A szamok nevű lista végére beírja az 5 számot.
    L1.append("alma") = Az L1 nevű lista végére beírja az alma szót
  • insert(pos, elem) A listához hozzáad egy elemet, de nem a végére, hanem az előre megadott pozícióba. nulla pozíció jelenti az első helyett
    L1.insert(0, "alma") = Az L1 lista elejére beírja az alma szót
    L2.insert(2, "körte") = Az L2 nevű lista 3. helyére (2 elemet átugorva) beszúrja a körte szót
  • remove(elem) A listából kitörli az adott elemet.
    gyumolcsok.remove("alma") = A gyumolcsok nevű listából törli az alma szót úgy, hogy az elemek száma is csökken ezzel együtt

matematikai műveletek

  • + összeadás (szövegekre összefűzés)
  • - kivonás
  • * szorzás
  • ** hatványozás (3**2 = 32 = 9 )
  • **0.5 négyzetgyökvonás (9**0.5 = 3 )
  • / osztás (7/2 = 3.5 )
  • // maradékos osztás egész része (7//2 = 3 )
  • % maradékos osztás maradéka (7%2 = 1 ) legtöbbször oszthatóság vizsgálatára használjuk

Példa maradékos osztásra: 700 perc hány óra és hány perc?

x=700
hour = x//60
min = x%60
print("A", x, "perc megfelel", hour, "óra és", min, "percnek")

Ez a példa ezt írja ki: A 700 perc megfelel 11 óra és 40 percnek

összehasonlító műveletek

  • == egyenlő (egyenlő-e?)
  • != nem egyenlő
  • > nagyobb
  • < kisebb
  • >= nagyobb egyenlő (nem kisebb)
  • <= kisebb egyenlő (nem nagyobb)
  • is azonosság (pl 1 is 1.0 hamis eredményt ad, mert az egyik integer, másik float)
  • is not nem azonos
  • in tartalmazza-e (pl. egy értéket a lista)
  • not in nem tartalmazza

Segédanyagok: