Alapadat-típusokat, fejlettebb adat-típusokat és feltételes utasításokat már tárgyaltunk a Pythonban az előző blogjainkban. Ebben a blogban a ciklusokkal foglalkozunk. Ha új vagy a Pythonban, kérlek, kezdj az első bloggal, hogy jobban megértsd ezt a témát.

Ciklusok a Pythonban – tartalomjegyzék:

  1. Ciklusok a Pythonban
  2. For ciklus a Pythonban
  3. For ciklusok listában
  4. Halmaz bejárása for ciklussal
  5. Tuple bejárása for ciklussal
  6. Belső ciklusok a Pythonban
  7. While ciklusok a Pythonban

Ciklusok a Pythonban

A ciklusokat akkor használjuk, amikor egy feladatot többször kell végrehajtani. Például számok kiírása 1-től 100-ig, vagy egy jobb példa az lenne, hogy összeadjuk az összes elemet egy listában vagy tömbben. Néha szükség van több mint 1 ciklus írására, vagy ciklusra egy cikluson belül. A Pythonban ezeknek a ciklusoknak az írása nagyon egyszerű, és a szintaxis is könnyen érthető. Ahogy láttuk, a Pythonban nem kell először deklarálni egy változót, mielőtt használnánk. Az alap ciklusozás a for ciklussal kezdődik. Nézzük meg a “for” ciklust.

For ciklus a Pythonban

For ciklusban három dolgot kell megemlíteni. Az első a változó kezdeti értéke, amelyen az iterációt végre kell hajtani, a megállási feltétel, és az utolsó, hogy hány lépésben szeretnéd növelni vagy csökkenteni az iterátort.

Nézzük meg a “for” ciklus szintaxisát:

# For ciklus

for var in range(10):
	print(var)

for var in range(0,10,1):
	print(var)

A fenti kód illusztrációban láthatjuk, hogy a for ciklusok ugyanazt az eredményt adják. A végén a range függvényben három argumentumot adtunk meg, amelyeket az előző bekezdésben tárgyaltunk. A fenti példában a range 0,10,1, ahol 0 az iterátor kezdeti értéke, 10 a végső érték, de a range valójában 10-1-ig iterál, ami 9, és 1 az iterátor növelése minden alkalommal, amikor a ciklus fut.

Futtassuk a fenti programot

Kimenet:
0
1
2
3
4
5
6
7
8
9

0
1
2
3
4
5
6
7
8
9

Ahogy a kimeneti illusztrációból látható, 0-tól 9-ig terjedő számokat ír ki.

For ciklusok listában

Listában egy elemekből álló gyűjteményünk van, és alább látható, hogyan használhatjuk a for ciklusokat egy lista bejárására.

X=[1,2,3,4,5,6]
for i in X:
	print(i)
Kimenet:
Ez kiírja az összes elemet a listában.
1,2,3,4,5,6

Ha az indexet is szeretnénk megjeleníteni a kiírás során, az alábbi kódot használhatjuk.

X=[1,2,3,4,5,6]
for i in range(len(X)):
	print(i,X[i])
[/code>
<p>Ez mind az indexet, mind az értéket kiírja a listában.</p>
<p>Van egy egyszerű módja az index és az érték megszerzésének az enumerate függvény használatával. Az enumerate függvény használata az alábbiakban látható.</p>
[code lang="js"]
X=[1,2,3,4,5,6]
for i,value in enumerate(X):
	print(i,value)
Kimenet: 0,1 1,2 2,3 3,4 4,5 5,6 [/code>

Halmaz bejárása for ciklussal

A halmaz bejárása hasonló a lista bejárásához for ciklussal. Az alábbi példa illusztrálja.

X={1,2,3,4,5,6} for i,value in enumerate(X): print(i,value) [/code> Kimenet: 0,1 1,2 2,3 3,4 4,5 5,6 [/code>

Tuple bejárása for ciklussal

A tuple bejárása hasonló a lista bejárásához for ciklussal. Az alábbi példa illusztrálja.

X=(1,2,3,4,5,6) for i,value in enumerate(X): print(i,value) [/code> Kimenet: 0,1 1,2 2,3 3,4 4,5 5,6 [/code>

Dictionary bejárása for ciklussal

A dictionary bejárása eltér a többi adat típustól, mivel a dictionary kulcs-érték párokat tartalmaz. Ezért, hogy csak a kulcsokat kapjuk, a dictionaryname.keys() függvényt használjuk, az értékekhez pedig a dictionaryname.values() függvényt. Az alábbi példa illusztrálja.

X={“1”:1,”2”:2} for key in X.keys(): print(key) for value in X.values(): print(value) for key,value in X.items(): print(key,value) [/code> Kimenet: 1 2 1 2 1,1 2,2 [/code>

Belső ciklusok a Pythonban

A belső ciklusok hasznosak, amikor egy brutális erővel megoldandó problémát építünk. Növelik a program időbeli komplexitását és csökkentik az olvashatóságot.

a = [1, 2] b = [10, 13] # olyan számok keresése, amelyek szorzata 13 for i in a: for j in b: if i*j == 13: print(i, j) [/code>

A fenti kódblokkban két listát definiáltunk, és mindkét lista tartalmaz néhány számot. A fő cél az volt, hogy megtaláljuk, mely számok szorzata 13 a két listából, és kiírjuk ezeket a számokat. Ehhez két listán kellett iterálnunk, ezért két for ciklust használtunk.

Alternatív mód:

Van egy függvény az itertools-ban, amelyet product-nak hívnak. Ez segít a beágyazott for ciklusok olvashatóságának megőrzésében, ha jelen vannak a programban. Az alábbi példa illusztrálja.

from itertools import product

a = [1, 2]

b = [10, 13]

# olyan számok keresése, amelyek szorzata 13

for i, j in product(a, b):

if(i*j == 13): print(i, j) [/code>

While ciklusok a Pythonban

Ezidáig csak a kimenetet írtuk ki, de soha nem adtunk bemenetet a programunknak. A Pythonban az input() függvényt használjuk a program bemenetének megadására. Az alábbi példa illusztrálja. A while ciklust akkor használjuk, amikor egy programot szeretnénk végrehajtani, ha a feltétel teljesül. A while ciklus példái az alábbiakban láthatók.

0-9 kiírása while ciklussal:

i = 0

while(i < 10): print(i) i += 1 [/code>

Ahogy láthatod, a szintaxis a while kulcsszóval kezdődik, amelyet egy feltétel követ, és a cikluson belül növeljük az iterátort a kívánt szám szerint.

Kimenet: 0 1 2 3 4 5 6 7 8 9 [/code>

Ebben a blogban a Pythonban a ciklus utasítások néhány alapját tárgyaltuk, a további funkciókkal kapcsolatos témákat a következő blogban fogjuk tárgyalni. Az alábbi kérdést kell megoldani.

loops_in_Python

Érdemes megnézned a JavaScript tanfolyamunkat kezdőtől a haladóig.

Robert Whitney

JavaScript szakértő és oktató, aki IT osztályokat mentorál. Fő célja, hogy növelje a csapat termelékenységét azáltal, hogy megtanítja másoknak, hogyan működjenek együtt hatékonyan a kódolás során.

View all posts →