Vnořené cykly


Nadřazené: Řízení výpočtu

Předcházející: Cyklus for v PythonuCyklus while v Pythonu

Navazující: Textové obrázkyObrázky

Cvičení

Porozumění

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.


Vysvětlení mi pomohlo   Vysvětlení mi nepomohlo

Porozumění

Prohlédněte si vypracované řešení příkladů v Pythonu či ukázkové modely. Pro každý příklad dostanete několik kontrolních otázek, které otestují vaše porozumění problému.


Vnořené cykly

Vnořené cykly jsou typický zdroj problémů pro začátečníky v programování. Prozkoumejte několik typických ukázek jejich využití.



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á?

Vzkaz Obsah Ovládání Přihlášení Licence