Pokryli jsme základní datové typy, pokročilé datové typy a podmínkové příkazy v Pythonu v našich předchozích blozích. V tomto blogu se budeme zabývat smyčkami. Pokud jste v Pythonu noví, začněte prosím od prvního blogu, abyste lépe porozuměli tomuto tématu.

Smyčky v Pythonu – obsah:

  1. Smyčky v Pythonu
  2. For smyčka v Pythonu
  3. For smyčky v seznamu
  4. Iterace množiny pomocí for smyčky
  5. Iterace n-tice pomocí for smyčky
  6. Vnořené smyčky v Pythonu
  7. While smyčky v Pythonu

Smyčky v Pythonu

Smyčky se používají, když je potřeba provést úkol více než jednou. Například tisk čísel od 1 do 100 nebo lepším příkladem by bylo sečíst všechny prvky v seznamu nebo poli. Někdy je potřeba napsat více než 1 smyčku nebo smyčku uvnitř smyčky. V Pythonu je psaní těchto smyček velmi jednoduché a syntaxe je snadno pochopitelná. Jak jsme viděli, v Pythonu nemusíme nejprve deklarovat proměnnou, než ji použijeme. Základní smyčkování začíná for smyčkou. Pojďme pochopit “for” smyčku.

For smyčka v Pythonu

V for smyčce máme tři věci, které je třeba zmínit. První je počáteční hodnota proměnné, na které se má iterace provést, podmínka zastavení a poslední je, o kolik kroků chcete inkrementovat nebo dekrementovat iterátor.

Pojďme se podívat na syntaxi “for” smyčky:

# For smyčka

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

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

V výše uvedené ilustraci kódu vidíme, že for smyčky dávají stejný výsledek. Syntaxe na konci, kde jsme poskytli funkci range, má tři argumenty, které jsme probrali v předchozím odstavci. V uvedeném příkladu má range 0,10,1, kde 0 je počáteční hodnota iterátoru, 10 je konečná hodnota, ale range ve skutečnosti iteruje až do 10-1, což je 9, a 1 je inkrementace iterátoru pokaždé, když smyčka běží.

Pojďme spustit výše uvedený program

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

0
1
2
3
4
5
6
7
8
9

Jak vidíme z ilustrace výstupu, tiskne čísla od 0 do 9.

For smyčky v seznamu

V seznamu máme sbírku položek a níže je ilustrace, jak používat for smyčky k iteraci přes seznam.

X=[1,2,3,4,5,6]
for i in X:
	print(i)
Výstup:
To vytiskne všechny prvky v seznamu.
1,2,3,4,5,6

Abychom zahrnuli index také při tisku, je kód ilustrován níže.

X=[1,2,3,4,5,6]
for i in range(len(X)):
	print(i,X[i])
[/code>
<p>Toto vytiskne jak index, tak hodnotu v seznamu.</p>
<p>Existuje snadný způsob, jak získat index a hodnotu pomocí funkce enumerate. Použití funkce enumerate je ilustrováno níže.</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

Iterace množiny pomocí for smyčky

Iterace množiny je jako iterace seznamu pomocí for smyčky. Příklad je ilustrován níže.

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>

Iterace n-tice pomocí for smyčky

Iterace n-tice je jako iterace seznamu pomocí for smyčky. Příklad je ilustrován níže.

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>

Iterace slovníku pomocí for smyčky

Iterace slovníku se liší od ostatních datových typů, protože slovník obsahuje páry klíč-hodnota. Proto, abychom získali pouze klíče, používáme dictionaryname.keys() a pro hodnoty používáme dictionaryname.values(). Příklad je ilustrován níže.

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>

Vnořené smyčky v Pythonu

Vnořené smyčky jsou užitečné při vytváření brute force řešení pro daný problém. Zvyšují časovou složitost programu a snižují čitelnost.

a = [1, 2] b = [10, 13] # získání čísel, jejichž součin je 13 for i in a: for j in b: if i*j == 13: print(i, j) [/code>

V výše uvedeném kódovém bloku jsme definovali 2 seznamy a každý seznam má nějakou sbírku čísel. Hlavním cílem bylo zjistit, jaká čísla mají součin 13 z obou seznamů a také vytisknout tato čísla. Za tímto účelem jsme museli iterovat přes 2 seznamy, proto byly použity 2 for smyčky.

Alternativní způsob:

Existuje funkce v itertools, která se nazývá product. To pomáhá udržovat vnořené for smyčky, pokud jsou přítomny v programu, čitelné. Příklad je ilustrován níže.

from itertools import product

a = [1, 2]

b = [10, 13]

# získání čísel, jejichž součin je 13

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

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

While smyčky v Pythonu

Do této doby jsme pouze tiskli výstup, ale nikdy jsme nedali žádný vstup našemu programu. V Pythonu se input() používá k zadání vstupu do programu. Příklad je ilustrován níže. While smyčka se používá, když chcete provést program, pokud je podmínka splněna. Příklady while smyček jsou ilustrovány níže.

Tisk 0-9 pomocí while smyčky:

i = 0

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

Jak vidíte, syntaxe je while následovaná podmínkou, a uvnitř smyčky inkrementujeme iterátor podle požadovaného čísla.

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

V tomto blogu jsme pokryli některé základy smyčkových příkazů v pythonu, další témata o funkcích budou pokryta v dalším blogu. Otázka, kterou je třeba vyřešit, je uvedena níže.

loops_in_Python

Možná se vám také bude líbit náš JavaScript kurz od začátečníka po pokročilého.

Robert Whitney

Odborník na JavaScript a lektor, který školí IT oddělení. Jeho hlavním cílem je zvýšit produktivitu týmu tím, že učí ostatní, jak efektivně spolupracovat při programování.

View all posts →