1. Learn
  2. /
  3. Курси
  4. /
  5. Набір інструментів Python

Connected

вправа

Ітерація по ітерованих обʼєктах (2)

Ви дізналися в цьому розділі, що не всі ітеровані обʼєкти є справжніми списками. Декілька прикладів, які ми розглядали, — це рядки та використання функції range(). У цій вправі ми зосередимося на range().

Ви можете використовувати range() у циклі for ніби це список, по якому потрібно пройтися:

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

Памʼятайте, що range() насправді не створює список; натомість він створює обʼєкт діапазону з ітератором, який генерує значення, доки не досягне межі (у прикладі — доки значення 4). Якби range() створював справжній список, виклик із значенням \(10^{100}\), ймовірно, не спрацював би, особливо тому, що таке велике число може перевищити памʼять звичайного компʼютера. Значення \(10^{100}\) має назву гугол — це 1 і сто нулів після неї. Це колосальне число!

Ваше завдання у цій вправі — показати, що виклик range() з \(10^{100}\) не створює список наперед.

Інструкції

100 XP
  • Створіть обʼєкт ітератора small_value над range(3) за допомогою функції iter().
  • За допомогою циклу for пройдіться по range(3), виводячи значення на кожній ітерації. Використовуйте num як змінну циклу.
  • Створіть обʼєкт ітератора googol над range(10 ** 100).