K opakování příkazů slouží základní cyklus for a cyklus while.

V těle cyklu mohou být nejen základní příkazy, ale třeba i další cyklus – ten nazýváme vnořený cyklus. Pro jeho použití nepotřebujeme žádný nový příkaz. Prostě jen cyklus zapíšeme (a odsadíme) uvnitř jiného cyklu. Vnořené cykly se ovšem vyplatí trénovat, jsou častým zdrojem problémů.

Příklad:

n = 5

for i in range(n):

    for j in range(n):

        print(i+j, end=" ")

    print()

Tento program vypisuje tuto tabulku:

0 1 2 3 4

1 2 3 4 5

2 3 4 5 6

3 4 5 6 7

4 5 6 7 8

Vnitřní cyklus (s řídící proměnnou j) vypisuje jednotlivé řádky. Vnější cyklus (s řídící proměnnou i) pak zařídí vypsání celé tabulky. Na tomto příkladu je dobře vidět důležitá role správného odsazení. Příkaz print() způsobuje odřádkování – používáme jej v programu vždy po výpisu kompletního řádku. Co by se stalo, kdybychom jej odsadili více/méně?

  • Kdybychom print() odsadili o úroveň více, byl by součástí vnitřního cyklu, takže by se odřádkování provedlo po každém čísle. Výstupem programu by pak byla řada čísel pod sebou.
  • Kdybychom print() odsadili o úroveň méně, byl by zcela mimo cykly, takže by se odřádkování provedlo jen jednou, až úplně nakonec. Výstupem programu by pak byla řada čísel v jednom řádku.

Programování v Pythonu

Programování přímo v prohlížeči, s automatickým vyhodnocením správnosti programu. Cvičení používá programovací jazyk Python 3.

V tomto cvičení píšete programy, které pracují s textem a čísly. Pokud chcete obrázky, zkuste cvičení Python želva.


Textové obrázky

V této sadě budeme vykreslovat „obrázky“ pomocí textových znaků (někdy označováno jako „ASCII art“). Tyto příklady slouží především pro procvičení vnořených cyklů.

NAPIŠTE NÁM

Nevíte si rady?

Nejprve se prosím podívejte na časté dotazy:

Časté dotazy Návody pro rodiče Návody pro učitele

Čeho se zpráva týká?

Obsah Ovládání Přihlášení Licence Různé

Text zprávy

E-mailová adresa (ať Vám můžeme odpovědět)


Odeslat

Vzhledem k uzavření škol mají systémy Umíme zvýšený provoz a množství dotazů. Prosím zasílejte pouze nezbytné dotazy a připomínky. Před zasláním dotazu si prosím prohlédněte časté dotazy. Děkujeme za pochopení.
Prosím nezasílejte dotazy na prozrazení řešení úloh či na vysvětlení postupu. Děkujeme.