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'
- 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.
- 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"}
- 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.
- 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] - 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!
Ha nulláig akarunk vissza számolni, akkor -1-et adjunk meg második számnak! range(2, -1, -1) = [2, 1, 0]
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
- beépített függvények listája - w3schools.com
- matematikai függvények listája - w3schools.com
- random függvények listája - w3schools.com
- listák függvényei - w3schools.com (pl. A.append(x) "A" listához hozzáad "x"-et)
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