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:
- Smyčky v Pythonu
- For smyčka v Pythonu
- For smyčky v seznamu
- Iterace množiny pomocí for smyčky
- Iterace n-tice pomocí for smyčky
- Vnořené smyčky v Pythonu
- 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.
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í.
Python Course From Beginner to Advanced in 11 blog posts:
- Pythonové n-tice, seznamy, množiny a slovníky. Část 3 Python kurzu od začátečníka po pokročilého ve 11 blogových příspěvcích
- Python funkce. Část 7 Python kurzu od začátečníka po pokročilého ve 11 blogových příspěvcích
- Úvod do kurzu Python. Část 1: Kurz Python od začátečníka po pokročilého ve 11 blogových příspěvcích
- Proměnné a datové typy v Pythonu. Část 2 Python kurzu od začátečníka po pokročilého ve 11 blogových příspěvcích
- Python sady a slovníky. Část 4 Python kurzu od začátečníka po pokročilého v 11 blogových příspěvcích
- Python třídy a objekty. Část 9 Python kurzu od začátečníka po pokročilého ve 11 blogových příspěvcích
- Soubory v Pythonu. Část 10 Python kurzu od začátečníka po pokročilého ve 11 blogových příspěvcích
- Smyčky v Pythonu. Část 6 Python kurzu od začátečníka po pokročilého ve 11 blogových příspěvcích
- Pokročilé funkce v Pythonu. Část 8 Python kurzu od začátečníka po pokročilého ve 11 blogových příspěvcích