Tartalomjegyzék[Elrejt][Előadás]
Az utolsó oktatóanyagban megismertük a while ciklusokat és azt, hogy hogyan kell többször végrehajtani egy kódblokkot.
A Pythonban más típusú ciklusok is vannak, mint például a „for loop” és a „nested loop”. Lássuk, hogyan használják őket.
A hurkok számára
A „for loop” kifejezést használjuk egy gyűjtemény elemeinek, például karakterláncainak iterálására. Mivel a karakterlánc karakterek sorozata, úgy néz ki, mint egy gyűjtemény. Ezért használhatunk egy for ciklust a karakterlánc minden karakterének iterálására, majd csinálhatunk vele valamit.
Íme egy példa.
Beírjuk a „for”, majd egy változót, majd egy karakterláncot.
for item in 'Python':
Itt az „elem” a Python szó karaktereit jelenti. A ciklus első iterációjában az „elem” jelentése „P”, a második iteráció jelentése „y” és így tovább. Hajtsuk végre ezt
Láthatja, hogy a karakterlánc minden egyes karaktere új sorba van nyomtatva.
Nézzünk egy másik példát. A Pythonban listákat definiálhatunk szögletes zárójelek használatával. Tehát hadd definiáljak egy listát szögletes zárójelek használatával.
for item in ['Shahbaz', 'Aayush', 'Jay']:
print(item)
Most külön sorokban fogja felsorolni a három nevet.
Ebben a beállításban számlistát is használhatunk. Ahelyett, hogy az összes számot beírnám 0-tól 9-ig, a „Tartomány” funkciót fogom használni a dolgok egyszerűsítésére. Lássuk, hogyan készült.
for item in range(10):
print(item)
Azt is beprogramozhatjuk, hogy ne 0-val kezdõdjön.
for item in range(5, 10):
5-től 9-ig számokat nyomtat a terminálra.
A „Tartomány” funkció bemenetként is végrehajthatja a lépéseket. Tehát ha így írjuk:
for item in range(5, 10, 2):
5-öt, 7-et és 9-et nyomtat, ami azt jelenti, hogy minden iteráció után két lépést tesz előre.
Gyakorol
Most itt van egy gyakorlat az Ön számára. Azt akarom, hogy írjon egy programot, amely kiszámítja a kosárban lévő összes termék összköltségét. Tegyük fel, hogy van egy árlistánk, például 10, 20 és 30, és szeretném, ha a for hurkot használná a képzeletbeli bevásárlókosárban lévő összes termék összköltségének kiszámításához.
Tedd munkába az agyad, és nézd meg, meg tudod-e csinálni. Nincs csalás.
Megoldás
Kezdheti az árak felsorolásával.
prices = [10, 20, 30]
Most adjon hozzá egy változót a teljes árhoz, amely 0-tól kezdődik az első iterációban.
total = 0
Itt van a for ciklusunk.
for price in prices:
total = total + price
// Leegyszerűsíthető így total += price
print(f"Total: {total}")
Beágyazott hurkok
A Pythonban a beágyazott hurok használata alapvetően azt jelenti, hogy egy ciklust adunk hozzá egy másik ciklushoz, és ezzel a technikával csodálatos dolgokat tehetünk. Például könnyen generálhatunk egy koordinátalistát.
A koordináta, mint tudod, 'x' és 'y' értékek kombinációja. Tegyük fel, hogy 0 és 0. Most tegyük fel, hogy szeretne létrehozni egy ilyen koordinátalistát. Van 0 és 0, akkor lesz 0 és 1, majd 0 és 2.
Ezután megváltoztatjuk az „x”-et. 1-et fogunk használni az „x”-hez, és még egyszer ezt a 3 értéket az „y” koordinátákhoz.
Ezeket a koordinátákat könnyen előállíthatjuk beágyazott hurkok segítségével.
Hadd mutassam meg.
for x in range(4):
for y in range(3):
print(f'({x}, {y}')
Nézzük a kimenetet:
Tehát hadd magyarázzam el pontosan, hogyan fut ez a program. Külső ciklusunk első iterációjában 'x' 0. Most a 2. sorban vagyunk, itt van egy új ciklus, amit belső ciklusnak nevezünk. Ebben a belső ciklusban az első iterációban az 'y' 0 lesz, tehát 0 és 0 kerül a terminálra.
Most a vezérlés visszamegy a 2. sorba vagy a belső hurkunkba. Ebben a második iterációban az 'y' értéke 1 lesz, de még mindig a külső ciklusunk első iterációjában vagyunk. Tehát az „x” továbbra is 0, de most az „y” 1-re nő.
Ezért látunk 0-t és 1-et a terminálon. Ez mindaddig folytatódik, amíg a belső ciklusunk le nem hajtódik, majd az értelmező ismét a külső ciklushoz megy, és ez a folyamat addig folytatódik, amíg a külső ciklus be nem fejeződik.
Kihívás
Itt van egy gyakorlat az Ön számára, de ez egy kicsit nagyobb kihívást jelent, mint az eddig elvégzett gyakorlatok.
Beágyazott hurkok segítségével írjon kódot ennek az „F” alaknak a megrajzolásához:
Megoldás
numbers = [5, 2, 5, 2, 2]
for x_count in numbers:
output = ''
//A kimeneti változót egy üres karakterláncra állítjuk vissza.
for count in range(x_count):
output += 'x'
print(output)
Létezik egy sokkal egyszerűbb módja ennek végrehajtására beágyazott hurkok használata nélkül. Rád bízom, hogy kitaláld.
Wrap Up
Ti is érzitek, hogy minden előadásnál felpörög a hőség?
határozottan úgy érzem. Sokkal egyszerűbbé tettem, hogy megértsd.
Következő előadásunkkal hozzuk fel a dolgokat.
Hagy egy Válaszol