Pokryli sme základné typy údajov, pokročilé typy údajov a podmienené príkazy v Pythone v našich predchádzajúcich blogoch. V tomto blogu sa budú pokrývať cykly. Ak ste v Pythone noví, prosím, začnite od prvého blogu, aby ste lepšie porozumeli tejto téme.

Cykly v Pythone – obsah:

  1. Cykly v Pythone
  2. For cyklus v Pythone
  3. For cykly v zozname
  4. Iterácia množiny pomocou for cyklu
  5. Iterácia n-tice pomocou for cyklu
  6. Vnorené cykly v Pythone
  7. While cykly v Pythone

Cykly v Pythone

Cykly sa používajú, keď je potrebné vykonať úlohu viac ako raz. Napríklad, tlačenie čísel od 1 do 100 alebo lepším príkladom by bolo sčítať všetky prvky v zozname alebo poli. Niekedy je potrebné napísať viac ako 1 cyklus alebo cyklus vo vnútri iného cyklu. V Pythone je písanie týchto cyklov veľmi jednoduché a aj syntax je ľahko pochopiteľná. Ako sme videli, v Pythone nemusíme najprv deklarovať premennú pred jej použitím. Základné cyklenie začína s for cyklom. Poďme pochopiť “for” cyklus.

For cyklus v Pythone

V for cykle máme tri veci, ktoré je potrebné uviesť. Prvá je počiatočná hodnota premennej, na ktorej sa má iterácia vykonať, podmienka zastavenia a posledná je, o koľko krokov chcete inkrementovať alebo dekrementovať iterátor.

Poďme sa pozrieť na syntax “for” cyklu:

# For cyklus

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

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

V hore uvedenej ilustrácii kódu vidíme, že for cykly dávajú rovnaký výsledok. Syntax na konci, kde sme poskytli funkciu range, má tri argumenty, o ktorých sme hovorili v predchádzajúcom odseku. V hore uvedenom príklade má range 0,10,1, kde 0 je počiatočná hodnota iterátora, 10 je konečná hodnota, ale range v skutočnosti iteruje až do 10-1, čo je 9 a 1 je inkrementácia iterátora každýkrát, keď sa cyklus vykoná.

Poďme spustiť hore uvedený program

Výstup:
0
1
2
3
4
5
6
7
8
9

0
1
2
3
4
5
6
7
8
9

Ako vidíme z ilustrácie výstupu, tlačí čísla od 0 do 9.

For cykly v zozname

V zozname máme zbierku položiek a nižšie je ilustrácia, ako používať for cykly na iteráciu cez zoznam.

X=[1,2,3,4,5,6]
for i in X:
	print(i)
Výstup:
Toto vytlačí všetky prvky v zozname.
1,2,3,4,5,6

Aby sme zahrnuli aj index pri tlačení, kód je ilustrovaný nižšie.

X=[1,2,3,4,5,6]
for i in range(len(X)):
	print(i,X[i])
[/code>
<p>Toto vytlačí ako index, tak aj hodnotu v zozname.</p>
<p>Existuje jednoduchý spôsob, ako získať index a hodnotu pomocou funkcie enumerate. Použitie funkcie enumerate je ilustrované nižšie.</p>
[code lang="js"]
X=[1,2,3,4,5,6]
for i,value in enumerate(X):
	print(i,value)
Výstup:
0,1
1,2
2,3
3,4
4,5
5,6

Iterácia množiny pomocou for cyklu

Iterácia množiny je ako iterácia zoznamu pomocou for cyklu. Príklad je ilustrovaný nižšie.

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

Iterácia n-tice pomocou for cyklu

Iterácia n-tice je ako iterácia zoznamu pomocou for cyklu. Príklad je ilustrovaný nižšie.

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

Iterácia slovníka pomocou for cyklu

Iterácia slovníka je odlišná od ostatných typov údajov, pretože slovník obsahuje páry kľúč-hodnota. Preto, aby sme získali len kľúče, používame dictionaryname.keys() a pre hodnoty používame dictionaryname.values(). Príklad je ilustrovaný nižšie.

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> Výstup: 1 2 1 2 1,1 2,2 [/code>

Vnorené cykly v Pythone

Vnorené cykly sú užitočné pri vytváraní hrubej sily riešenia daného problému. Zvyšujú časovú zložitost programu a znižujú čitateľnosť.

a = [1, 2] b = [10, 13] # získavanie čísel, ktorých súčin je 13 for i in a: for j in b: if i*j == 13: print(i, j) [/code>

V hore uvedenom bloku kódu sme definovali 2 zoznamy a každý zoznam má nejakú zbierku čísel. Hlavným cieľom bolo nájsť, aké čísla budú mať súčin 13 z oboch zoznamov a tiež vytlačiť tieto čísla. Na tento účel sme museli iterovať cez 2 zoznamy, preto boli použité 2 for cykly.

Alternatívny spôsob:

Existuje funkcia v itertools, ktorá sa nazýva product. Táto funkcia pomáha udržiavať vnorené for cykly, ak sú prítomné v programe, čitateľné. Príklad je ilustrovaný nižšie.

from itertools import product

a = [1, 2]

b = [10, 13]

# získavanie čísel, ktorých súčin je 13

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

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

While cykly v Pythone

Doteraz sme len vytlačili výstup, ale nikdy sme nedali žiadny vstup do nášho programu. V Pythone sa input() používa na zadávanie vstupu do programu. Príklad je ilustrovaný nižšie. While cyklus sa používa, keď chcete vykonať program, ak je podmienka splnená. Príklady while cyklov sú ilustrované nižšie.

Tlačenie 0-9 pomocou while cyklu:

i = 0

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

Ako vidíte, syntax je while nasledovaná podmienkou, a vo vnútri cyklu inkrementujeme iterátor podľa požadovaného čísla.

Výstup: 0 1 2 3 4 5 6 7 8 9 [/code>

V tomto blogu sme pokryli niektoré základy cyklických príkazov v pythone, ďalšie témy o funkciách budú pokryté v nasledujúcom blogu. Otázka, ktorú treba vyriešiť, je uvedená nižšie.

loops_in_Python

Môžete sa tiež pozrieť na náš JavaScript kurz od začiatočníka po pokročilého.

Robert Whitney

Odborník na JavaScript a inštruktor, ktorý školí IT oddelenia. Jeho hlavným cieľom je zvýšiť produktivitu tímu tým, že učí ostatných, ako efektívne spolupracovať pri programovaní.

View all posts →