1. Učit se
  2. /
  3. Kurzy
  4. /
  5. Python Toolbox

Connected

cvičení

Iterování přes iterovatelné objekty (2)

V této kapitole ses mimo jiné dozvěděl/a, že ne všechny iterovatelné objekty jsou skutečné seznamy. Ukázali jsme si například řetězce a funkci range(). V tomto cvičení se zaměříme právě na funkci range().

range() lze v cyklu for použít jako by šlo o seznam, přes který iterujeme:

for i in range(5):
    print(i)

Pamatuj, že range() seznam ve skutečnosti nevytváří — místo toho vytvoří objekt range s iterátorem, který generuje hodnoty, dokud nedosáhne zadané hranice (v příkladu hodnoty 4). Kdyby range() skutečný seznam vytvářel, zavolání s hodnotou \(10^{100}\) by pravděpodobně selhalo, protože tak velké číslo by mohlo přesáhnout paměť běžného počítače. Hodnota \(10^{100}\) se nazývá Googol — to je jednička následovaná stem nul. Tedy opravdu obří číslo!

Tvým úkolem v tomto cvičení je ukázat, že volání range() s hodnotou \(10^{100}\) seznam předem nevytvoří.

Pokyny

100 XP
  • Vytvoř objekt iterátoru small_value nad range(3) pomocí funkce iter().
  • Pomocí cyklu for proveď iteraci přes range(3) a vypisuj hodnotu při každé iteraci. Jako proměnnou cyklu použij num.
  • Vytvoř objekt iterátoru googol nad range(10 ** 100).