Tässä artikkelissa opimme erosta for-silmukan ja while-silmukan välillä Pythonissa. Pythonissa on saatavilla kahden tyyppisiä silmukoita, jotka ovat ' silmukalle ' ja ' kun silmukka ' . Silmukka on joukko lauseita, joita käytetään lausejoukon suorittamiseen useammin kuin kerran. Jos esimerkiksi haluamme tulostaa Hello world 100 kertaa, meidän on kirjoitettava print-lausunto 100 kertaa, mikä on työlästä, mutta silmukoiden avulla voimme tehdä sen vain muutamalla koodirivillä. Tässä artikkelissa opimme molempia silmukoita erikseen ja sitten niiden eroja.
Loop Vs While Loop -bannerille
Silmukalle Pythonissa
Pythonissa a ' silmukalle ' käytetään iteroimaan kohteiden sarjaa, kuten a Python monikko , lista , merkkijono , tai alue . Silmukka suorittaa lausekkeiden lohkon jokaiselle sekvenssin kohteelle.
Python silmukan vuokaaviolle

Silmukkavuokaaviolle
Pythonin syntaksi silmukalle
Alla olevassa syntaksissa for on avainsana, var on muuttujan nimi ja iterable on objekti, joka voidaan silmukalla tai iteroida for silmukan avulla. Objekteja, kuten monikot, luettelot, joukot, sanakirjat, merkkijonot jne. kutsutaan iteroitaviksi. Voimme myös käyttää range()-funktiota iterable-funktion sijasta.
varten oli sisään toistettavissa :
# lausuntoa
Python for Loop (esimerkein)
Alla olevassa esimerkissä olemme luoneet luettelon kohteista ja toistaneet luetteloa käyttämällä for-silmukkaa listan kohteiden tulostamiseksi.
Python 3
# Create a list of items> items> => [> 'pen'> ,> 'notebook'> ,> > 'pencil'> ,> 'lunch box'> ]> > # Run a loop to print> # items in a list> for> item> in> items:> > print> (item)> |
>
>
Lähtö:
pen notebook pencil lunch box>
Vaikka silmukka Pythonissa
Sisään Python, while-silmukka käytetään lauselohkon suorittamiseen toistuvasti, kun ehto on tosi. Silmukka jatkuu niin kauan kuin ehto on totta.
Python ja silmukkavuokaavio

Vaikka silmukka vuokaavio
Python While -silmukan syntaksi
While-silmukassa ehto kirjoitetaan heti perään 'sillä aikaa' avainsana ja sitten kirjoitamme lausejoukon jonkin tehtävän suorittamiseksi.
sillä aikaa kunto :
# Joukko lausuntoja
Python while Loop (esimerkein)
Tässä esimerkissä käytämme while-silmukkaa suorittaaksemme tehtävän, jonka olemme tehneet for silmukan esimerkissä. Tässä nimikeluettelon ilmoittamisen jälkeen alustamme indeksin 0:lla ja tallennamme tuoteluettelon pituuden muuttujaan 'items_len' sen jälkeen käynnissä while-silmukka, jossa olemme antaneet ehdon, joka suorittaa silmukan arvoon asti indeksi on vähemmän kuin items_len . While-silmukan sisällä tulostamme kohdeluettelon kohteet indeksoimalla ja lisäämme indeksin arvoa 1:llä iteroidaksesi luettelon yli.
Python 3
# Create a list of items> items> => [> 'pen'> ,> 'notebook'> ,> > 'pencil'> ,> 'lunch box'> ]> > # Declare a index> index> => 0> > # Store length of items list> items_len> => len> (items)> > # Run a loop to print> # items in a list> while> index print(items[index]) index = index+1> |
>
>
Lähtö:
pen notebook pencil lunch box>
Kun for- ja while-silmukassa ei ole ehtoa?
Tässä tapauksessa, kun ehtoa ei anneta, he joutuvat äärettömään silmukkaan.
Python for Loop:
Python 3
a> => [> 1> ]> for> i> in> a:> > print> (> 'GFG'> )> > a.append(i)> |
>
>
Python While Loop:
Python 3
while> True> :> > print> (> 'GFG'> )> |
>
>
Molemmat silmukat jatkuvat äärettömän ajan ja tulostuvat GFG .
aritmeettinen logiikkayksikkö
Ero for- ja while-silmukan välillä Pythonissa
Nyt vertaamme molempia Python-silmukoita ymmärtääksemme, missä niitä käytetään 'silmukalle' ja missä käyttää 'while loop' .
Silmukalle | Vaikka silmukka |
---|---|
For-silmukkaa käytetään iteroimaan kohteiden sarjaa. | Vaikka silmukkaa käytetään lauselohkon suorittamiseen toistuvasti, kun ehto on tosi. |
For silmukat on suunniteltu iteroitavaksi kohteiden sarjassa. Esim. lista, tuple jne. | Vaikka silmukkaa käytetään, kun iteraatioiden lukumäärää ei tiedetä etukäteen tai kun haluamme toistaa koodilohkon, kunnes tietty ehto täyttyy. |
For loop vaatii sekvenssin iteroitavaksi. | Silmukka vaatii alkuehdon, joka testataan silmukan alussa. |
For-silmukkaa käytetään tyypillisesti iterointiin kiinteässä kohteiden sarjassa | Vaikka silmukkaa käytetään monimutkaisempiin ohjausvirtatilanteisiin. |
For-silmukka on tehokkaampi kuin while-silmukka iteroitaessa sekvenssien yli, koska iteraatioiden määrä on ennalta määrätty ja silmukka voidaan optimoida vastaavasti. | Silmukka voi olla tehokkaampi tietyissä tilanteissa, joissa testattava tila voidaan arvioida nopeasti. |