1. Nauka
  2. /
  3. Kursy
  4. /
  5. Zestaw narzędzi Pythona

Connected

ćwiczenie

Iterowanie po obiektach iterowalnych (2)

W tym rozdziale poznałeś już przykłady obiektów iterowalnych, które nie są prawdziwymi listami. Dwa z nich to łańcuchy znaków oraz funkcja range(). W tym ćwiczeniu skupimy się właśnie na range().

Możesz używać range() w pętli for tak jakby była to lista do iterowania:

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

Pamiętaj, że range() nie tworzy faktycznej listy – zamiast tego tworzy obiekt zakresu z iteratorem, który generuje kolejne wartości aż do osiągnięcia limitu (w przykładzie – do wartości 4). Gdyby range() tworzyło prawdziwą listę, wywołanie go z wartością \(10^{100}\) mogłoby nie zadziałać – liczba tej wielkości mogłaby przekroczyć dostępną pamięć komputera. Wartość \(10^{100}\) to tak zwany Googol – jedynka, po której następuje sto zer. To naprawdę ogromna liczba!

Twoim zadaniem w tym ćwiczeniu jest pokazanie, że wywołanie range() z wartością \(10^{100}\) nie tworzy z góry całej listy.

Instrukcje

100 XP
  • Utwórz obiekt iteratora small_value dla range(3), używając funkcji iter().
  • Korzystając z pętli for, iteruj po range(3) i wypisuj wartość w każdej iteracji. Użyj num jako zmiennej pętli.
  • Utwórz obiekt iteratora googol dla range(10 ** 100).