Categories: BlogJinéKurz Python

Smyčky v Pythonu. Část 6 Python kurzu od začátečníka po pokročilého v 11 blogových příspěvcích

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.

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 →

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í.

Share
Published by
Robert Whitney

Recent Posts

Jak založit neziskovou organizaci? 7 rychlých kroků k úspěchu

Víš, jak založit neziskovou organizaci? Přemýšlel jsi o tom? Jsi si vědom, jak časově náročný…

59 minutes ago

Jaký je rozdíl mezi manažerem lidských zdrojů a manažerem náboru?

Čím větší je společnost, tím více pozic v oblasti lidských zdrojů nabízí, což znamená, že…

3 hours ago

Co je analýza pracovních míst? 7 nejlepších technik pro provedení analýzy pracovních míst v řízení lidských zdrojů

Co je analýza pracovních míst? Už jste někdy slyšeli tento termín, víte, co musíte udělat,…

5 hours ago

Top 10 editorů PDF v roce 2023

Soubory ve formátu PDF nás provázejí každý den. Tento univerzální způsob ukládání obsahu zaručuje neměnnou…

7 hours ago

Top 10 online překladačů v roce 2023

Vývoj internetu a strojového učení konečně odsunul tradiční objemné tištěné jazykové slovníky. Ať už hledáte…

10 hours ago

Rentgenové vyhledávání v náboru. 4 důležité operátory pro rentgenové vyhledávání

Rentgenové vyhledávání je jednou z mnoha technik vyhledávání dat, které používají oddělení lidských zdrojů k…

11 hours ago