Bevezetés
A while ciklus egy alapvető vezérlőfolyamat a Pythonban, amely lehetővé teszi egy kódblokk ismételt végrehajtását, amíg egy bizonyos feltétel igaz. Módot biztosít az ismétlődő feladatok automatizálására és az értékek sorozata közötti iterációra. Ez a cikk a Python while ciklusainak szintaxisát, használatát és különféle alkalmazásait mutatja be.
Tartalomjegyzék
A While ciklus szintaxisa és szerkezete
A Pythonban a while ciklus szintaxisa a következő:
while condition:
# code to be executed
A feltétel egy logikai kifejezés, amely meghatározza, hogy a ciklusnak folytatódnia kell-e vagy véget kell vetni. Ha a feltételt igaznak tekintjük, a cikluson belüli kódblokk ismételten végrehajtásra kerül. Ha a feltétel False lesz, a ciklus kilép, és a program a ciklus után következő utasítással folytatódik.
Alapvető használat és példák
Kezdjük egy egyszerű példával, hogy megértsük a while ciklus alapvető használatát. Tegyük fel, hogy ki akarjuk nyomtatni a számokat 1-től 5-ig. Ezt egy while ciklus segítségével érhetjük el, az alábbiak szerint:
num = 1
while num <= 5:
print(num)
num += 1
teljesítmény
1
2
3
4
5
Ebben a példában a "num" változót 1-re inicializáljuk. A while ciklus folytatódik, ha a "num" kisebb vagy egyenlő, mint 5. A cikluson belül kiírjuk a "num" értékét, majd növeljük 1-gyel a `+=` operátor. Ez a folyamat addig ismétlődik, amíg a "szám" 6 nem lesz, amikor a feltétel False lesz, és a ciklus véget ér.
Az áramlás szabályozása hurokvezérlési utasításokkal
A Python három ciklusvezérlő utasítást biztosít: „break”, „continue” és „pass”, amelyek lehetővé teszik a while ciklus folyamának vezérlését.
A „törés” nyilatkozat
A "break" utasítás a ciklus idő előtti kilépésére szolgál, még akkor is, ha a ciklusfeltétel továbbra is igaz. Gyakran használják, ha egy bizonyos feltétel teljesül, és azonnal meg akarja szakítani a hurkot. Íme egy példa:
num = 1
while num <= 10:
if num == 6:
break
print(num)
num += 1
teljesítmény
1
2
3
4
5
Ebben a példában a ciklus akkor ér véget, amikor a „szám” 6 lesz, mert a „break” utasítást használtuk az if feltételen belül. Ennek eredményeként csak az 1-től 5-ig terjedő számok kerülnek kinyomtatásra.
A „folytatás” nyilatkozat
A "continue" utasítás a cikluson belüli kódblokk többi részének kihagyására és a következő iterációra való ugrásra szolgál. Akkor hasznos, ha ki akar hagyni bizonyos értékeket vagy feltételeket, és folytatni szeretné a következő iterációt. Íme egy példa:
num = 1
while num <= 5:
if num == 3:
num += 1
continue
print(num)
num += 1
teljesítmény
1
2
4
5
Ebben a példában a ciklus kihagyja a 3-as értéket, mert a "continue" utasítást használtuk az if feltételen belül. Ennek eredményeként a 3-as szám nem kerül kinyomtatásra, és a ciklus a következő iterációval folytatódik.
Az „átment” nyilatkozat
A "pass" utasítás egy helyőrző, amikor nem akarsz semmit tenni a cikluson belül. Gyakran használják ideiglenes helyőrzőként a fejlesztés során, vagy amikor üres hurkot kíván létrehozni. Íme egy példa:
num = 1
while num <= 5:
pass
num += 1
Ebben a példában a „pass” utasítás nem csinál semmit, és a ciklus addig növeli a „szám” értékét, amíg az 6 nem lesz.
Általános használati esetek és alkalmazások
Míg a hurkok sokféle alkalmazással rendelkeznek a Pythonban. Nézzünk meg néhány gyakori használati esetet:
Ismétlés a feltétel teljesüléséig
Míg a ciklusokat általában akkor használják, amikor egy bizonyos feltétel teljesüléséig ismételni akarunk. Például meg akarjuk találni a 2 első hatványát, amely nagyobb 1000-nél. Ehhez használhatunk egy while ciklust:
num = 1
while num <= 1000:
num *= 2
print(num)
teljesítmény
1024
Ebben a példában a ciklus addig folytatódik, amíg a „szám” el nem éri az 1000-et. Minden iterációnál a „szám” megszorozódik 2-vel, és kinyomtatja a végső értéket.
Felhasználói bevitel érvényesítése
Míg a hurkok hasznosak a felhasználói bevitel érvényesítéséhez és annak biztosításához, hogy a bemenet megfelel-e bizonyos feltételeknek. Például arra szeretnénk kérni a felhasználót, hogy adjon meg egy pozitív egész számot. A while ciklus segítségével bevitelt kérhetünk, amíg ismételten meg nem adunk egy érvényes egész számot:
while True:
try:
num = int(input("Enter a positive integer: "))
if num > 0:
break
else:
print("Invalid input. Please enter a positive integer.")
except ValueError:
print("Invalid input. Please enter a valid integer.")
Ebben a példában a ciklus korlátlanul folytatódik, amíg egy érvényes pozitív egész számot meg nem adunk. A "try-except" blokk kezeli a lehetséges hibákat, amikor a bemenetet egész számmá alakítja.
Végtelen hurkok létrehozása
Míg a hurkok segítségével végtelen hurkok hozhatók létre, amelyek korlátlanul folytatódnak, amíg egy bizonyos feltétel nem teljesül. Például hozzunk létre egy egyszerű végtelen hurkot, amely kiírja: „Hello, World!” többször:
while True:
print("Hello, World!")
Ebben a példában a hurokfeltétel mindig True, tehát a ciklus korlátlanul folytatódik. A ciklus befejezéséhez használhatja a "break" utasítást, vagy megszakíthatja a program végrehajtását.
A végtelen hurok hasznos lehet egy valós idejű megfigyelő vagy naplózó rendszer kontextusában. Képzeljen el egy olyan helyzetet, amikor folyamatosan figyelnie kell egy rendszert vagy hálózatot meghatározott események vagy változások miatt, és naplóznia kell az információkat. Egy végtelen hurkot lehetne alkalmazni e feltételek ellenőrzésére és a megfelelő intézkedések folyamatos megtételére.
Játékhurkok megvalósítása
Míg a hurkokat általában a játékfejlesztésben használják játékhurkok megvalósítására, amelyek szabályozzák a játék folyamatát és kezelik a felhasználói bevitelt. A játékhurok általában három fő összetevőből áll: a játék állapotának frissítése, a játék grafika renderelése és a felhasználói bevitel kezelése. Íme egy egyszerűsített példa:
game_running = True
while game_running:
# Update game state
# Render game graphics
# Handle user input
Ebben a példában a ciklus addig folytatódik, amíg a "game_running" változó igaz. A cikluson belül frissíti a játék állapotát, rendereli a játék grafikáját, és kezeli a felhasználói bevitelt. Ez a folyamat addig ismétlődik, amíg a játék véget nem ér, vagy a játékos úgy dönt, hogy ki nem lép.
Olvassa el még: Egy teljes Python-oktatóanyag az adattudományok elsajátítására
Beágyazott hurkok és hurok egymásba ágyazása
Piton lehetővé teszi a while ciklusok egymásba ágyazását, ami azt jelenti, hogy egy while ciklust használhat egy másik while ciklusban. Ez akkor hasznos, ha ismétlődő feladatokat kell végrehajtania az ismétlődő feladatokon belül. Íme egy példa:
outer_num = 1
while outer_num <= 3:
inner_num = 1
while inner_num <= 3:
print(outer_num, inner_num)
inner_num += 1
outer_num += 1
teljesítmény
1 1
1 2
1 3
2 1
2 2
2 3
3 1
3 2
3 3
Ebben a példában van egy külső while ciklus, amely 1-től 3-ig iterál, és egy belső while ciklus, amely 1-től 3-ig iterál minden külső ciklus iterációjához. A belső cikluson belüli print utasítás mindkét ciklusváltozó értékét jeleníti meg.
Tippek és bevált gyakorlatok a While hurkok használatához
Noha a hurkok erőteljes konstrukciók, hibákra is hajlamosak lehetnek, ha nem megfelelően használják őket. Íme néhány tipp és bevált gyakorlat, amelyet szem előtt kell tartani a while ciklusok használatakor:
A változók megfelelő inicializálása
Mielőtt beírna egy while ciklust, inicializálja a ciklusváltozókat a kezdeti értékükre. Ez biztosítja a hurokállapot helyes kiértékelését, és megakadályozza a váratlan viselkedést. Például:
count = 0
while count < 10:
print(count)
count += 1
Ebben a példában a "count" változót 0-ra inicializáljuk, mielőtt belépnénk a ciklusba.
Huroklezárás biztosítása
A végtelen hurkok elkerülése érdekében mindig ügyeljen arra, hogy a hurokfeltétel végül False legyen. Ezt a ciklusváltozók frissítésével vagy ciklusvezérlő utasítások, például a `break` használatával érhetjük el. Például:
num = 1
while num <= 10:
if num == 6:
break
print(num)
num += 1
Ebben a példában a hurok akkor ér véget, amikor a „szám” 6 lesz a „break” utasítás miatt.
A végtelen hurkok elkerülése
Legyen óvatos a while ciklusok használatakor, hogy elkerülje a végtelen, soha nem végződő hurkok létrehozását. A végtelen hurkok a program összeomlásához vezethetnek, és túl sok rendszererőforrást fogyaszthatnak. Mindig ellenőrizze újra a hurok feltételeit, és győződjön meg arról, hogy azok valamikor hamissá válhatnak.
Olvasható és karbantartható kód írása
Míg a hurkok bonyolulttá és nehezen érthetővé válhatnak, ha nem írják megfelelően. Használjon értelmes változóneveket, adjon hozzá megjegyzéseket a ciklus céljának magyarázatához, és bontsa le az összetett feladatokat kisebb részfeladatokra. Ez olvashatóbbá és karbantarthatóbbá teszi a kódot.
Fejlett technikák és trükkök
Míg a hurkok speciális módon használhatók meghatározott feladatok elvégzésére. Íme néhány fejlett technika és trükk:
Hurok az Else nyilatkozatokkal
A Pythonban egy while ciklussal rendelkező else utasítást használhat egy kódblokk végrehajtására, amikor a ciklusfeltétel False lesz. A másik blokk csak akkor kerül végrehajtásra, ha a ciklus normál módon, break utasítások nélkül fejeződik be. Íme egy példa:
num = 1
while num <= 5:
print(num)
num += 1
else:
print("Loop completed")
teljesítmény
1
2
3
4
5
A hurok befejeződött
Ebben a példában az else blokk a ciklus normál befejezése után kerül végrehajtásra.
A While hurkok használata listákkal és karakterláncokkal
Míg a ciklusok használhatók a listák és karakterláncok iterálására egy indexváltozó használatával. Íme egy példa:
fruits = ["apple", "banana", "cherry"]
index = 0
while index < len(fruits):
print(fruits[index])
index += 1
teljesítmény
alma
banán
cseresznye
Ebben a példában a while ciklus a "gyümölcs" lista elemei felett iterál az indexváltozó használatával.
Olvassa el még: Minden, amit tudnia kell a Python beépített adatstruktúráiról – Útmutató kezdőknek!
Összehasonlítás a Python többi hurkolt konstrukciójával
Míg a hurkok csak egy a Pythonban elérhető számos hurokkonstrukció közül. Hasonlítsuk össze a while ciklusokat a for ciklusokkal és a rekurzióval:
While Loops vs. For Loops
Míg a ciklusokat és a ciklusokat is iterációra használják, eltérő használati eseteik vannak. Míg a ciklusok rugalmasabbak, és bonyolult feltételeket is képesek kezelni, míg a for ciklusok alkalmasabbak egy értéksorozaton keresztüli iterációra. Míg a hurkok akkor hasznosak, ha nem tudja előre az iterációk pontos számát, vagy összetett számításokat kell végrehajtania. A hurkok hasznosak, ha egy értéksorozaton, például egy listán vagy egy karakterláncon szeretne ismételni.
Míg hurkok vs. rekurzió
A rekurzió egy olyan technika, ahol egy függvény meghívja magát egy probléma megoldására. Használható a while ciklusokhoz hasonló ismétlődő feladatok elvégzésére, de van néhány eltérése. Míg a ciklusok alkalmasabbak az iteratív feladatokhoz, ahol egyértelmű a lezárási feltétel, és meghatározott számú iterációt kell végrehajtania. A rekurzió alkalmasabb kisebb részproblémákra osztott problémák megoldására, mint például a keresési, rendezési és fabejárási algoritmusok.
Következtetés
Ebben a cikkben megvizsgáltuk a while ciklusok fogalmát a Pythonban. Megismertük a szintaxisukat, az alapvető használatukat és a különféle alkalmazásokat. Megbeszéltük a while ciklusok használatának tippjeit, bevált gyakorlatait, gyakori hibáit és fejlett technikáit is. Végül összehasonlítottuk a while ciklusokat a Python többi hurkolt konstrukciójával. Ezzel a tudással most már hatékonyan használhatja a while ciklusokat az ismétlődő feladatok automatizálására és a Python-programok értéksorozatai közötti iterációra.
Fedezze fel az AI és ML kiválóság erejét! Jelentkezzen most nálunk Tanúsított AI és ML BlackBelt Plus program és emelje új magasságokba készségeit. Ne hagyja ki a lehetőséget, hogy elsajátítsa a legújabb technológiákat – alakítsa át karrierjét még ma!
Továbbá, ha Python-tanfolyamot keres online, tekintse meg - Bevezetés a Python programba Ma!
Összefüggő
- SEO által támogatott tartalom és PR terjesztés. Erősödjön még ma.
- PlatoData.Network Vertical Generative Ai. Erősítse meg magát. Hozzáférés itt.
- PlatoAiStream. Web3 Intelligence. Felerősített tudás. Hozzáférés itt.
- PlatoESG. Carbon, CleanTech, Energia, Környezet, Nap, Hulladékgazdálkodás. Hozzáférés itt.
- PlatoHealth. Biotechnológiai és klinikai vizsgálatok intelligencia. Hozzáférés itt.
- Forrás: https://www.analyticsvidhya.com/blog/2024/01/python-while-loop-with-examples/
- :van
- :is
- :nem
- :ahol
- 1
- 10
- 360
- a
- Rólunk
- Elérése
- elért
- cselekvések
- hozzá
- előre
- fejlett
- Után
- AI
- algoritmusok
- Minden termék
- lehetővé
- lehetővé teszi, hogy
- Is
- mindig
- an
- és a
- Másik
- bármilyen
- bármi
- Apple
- alkalmazások
- megfelelő
- VANNAK
- cikkben
- AS
- kérdez
- At
- automatizált
- elérhető
- elkerülése érdekében
- Banán
- alapvető
- BE
- mert
- válik
- válik
- előtt
- viselkedés
- lent
- BEST
- legjobb gyakorlatok
- Jobb
- Blokk
- mindkét
- szünet
- beépített
- de
- by
- kéri
- TUD
- Karrier
- esetek
- óvatos
- bizonyos
- Változások
- ellenőrizze
- úgy dönt,
- világos
- kód
- Hozzászólások
- Közös
- általában
- összehasonlítani
- képest
- teljes
- Befejezett
- Befejezi
- bonyolult
- alkatrészek
- koncepció
- feltétel
- Körülmények
- figyelembe vett
- áll
- állandóan
- fogyaszt
- kontextus
- folytatódik
- tovább
- folyamatosan
- ellenőrzés
- konvertáló
- helyesen
- tudott
- számít
- tanfolyam
- teremt
- létrehozása
- kritériumok
- dátum
- adat-tudomány
- meghatározó
- Fejlesztés
- különbségek
- különböző
- nehéz
- tárgyalt
- kijelzők
- megosztott
- do
- nem
- ne
- le-
- alatt
- minden
- hatékonyan
- elemek
- ELEMELNI
- más
- munkavállaló
- üres
- vége
- felvesz
- biztosítására
- biztosítja
- biztosítása
- belép
- lépett
- belépés
- egyenlő
- hibák
- Eter (ETH)
- értékelték
- Még
- események
- végül is
- minden
- példa
- példák
- meghaladja
- Kivéve
- túlzott
- kivégez
- végrehajtott
- végrehajtás
- Kilépés
- Magyarázza
- feltárása
- feltárt
- kifejezés
- hamis
- utolsó
- Végül
- Találjon
- vezetéknév
- rögzített
- rugalmas
- áramlási
- következik
- A
- ból ből
- Gyümölcsök
- funkció
- alapvető
- játék
- játékfejlesztés
- Games
- grafika
- nagyobb
- fogantyú
- Fogantyúk
- Kezelés
- Legyen
- Magasság
- szia
- itt
- Magas
- HTTPS
- if
- kép
- azonnal
- végre
- in
- növekedés
- index
- információ
- kezdetben
- belső
- bemenet
- belső
- bele
- IT
- iteráló
- ismétlés
- iterációk
- maga
- éppen
- csak egy
- Tart
- Ismer
- tudás
- legutolsó
- vezet
- TANUL
- tanult
- kevesebb
- mint
- Lista
- listák
- log
- fakitermelés
- Hosszú
- keres
- Fő
- Karbantartható
- KÉSZÍT
- mester
- max-width
- jelentőségteljes
- eszközök
- Megfelel
- találkozott
- esetleg
- bánja
- hiányzik
- hibákat
- ML
- monitor
- ellenőrzés
- több
- mozog
- szorozva
- kell
- nevek
- Szükség
- Fészek
- hálózat
- soha
- Új
- következő
- rendszerint
- semmi
- Most
- szám
- számok
- of
- gyakran
- on
- egyszer
- ONE
- online
- csak
- operátor
- Alkalom
- or
- Más
- mi
- ki
- felett
- elhalad
- teljesít
- placeholder
- Plató
- Platón adatintelligencia
- PlatoData
- játékos
- kérem
- plusz
- pont
- pozitív
- potenciális
- hatalom
- erős
- gyakorlat
- megakadályozza
- Plakátok
- Probléma
- problémák
- folyamat
- Program
- Programok
- megfelelően
- biztosít
- cél
- Piton
- hatótávolság
- Olvass
- real-time
- vakolás
- TÖBBSZÖR
- ismétlő
- Tudástár
- REST
- eredményez
- Tudomány
- keres
- Sorozat
- számos
- kellene
- mutatott
- hasonló
- Egyszerű
- egyszerűsített
- helyzet
- készségek
- kisebb
- So
- SOLVE
- Megoldása
- néhány
- különleges
- kezdet
- Állami
- nyilatkozat
- nyilatkozatok
- Még mindig
- Húr
- struktúra
- struktúrák
- ilyen
- megfelelő
- SVG
- szintaxis
- rendszer
- Vesz
- feladatok
- technika
- technikák
- Technologies
- ideiglenes
- mint
- hogy
- A
- az információ
- azok
- akkor
- Ezek
- ők
- ezt
- három
- tippek
- nak nek
- Átalakítás
- fa
- igaz
- megpróbál
- oktatói
- jellemzően
- megért
- Váratlan
- -ig
- Frissítések
- frissítése
- Használat
- használ
- használt
- hasznos
- használó
- segítségével
- érvényes
- érvényesítése
- érték
- Értékek
- változó
- különféle
- vs
- akar
- Út..
- módon
- we
- amikor
- vajon
- ami
- míg
- széles
- Széleskörű
- lesz
- val vel
- belül
- nélkül
- lenne
- írott
- te
- A te
- zephyrnet