1. Apprendre
  2. /
  3. Cours
  4. /
  5. Boîte à outils Python

Connected

Exercice

Itérer sur des itérables (2)

L'une des choses que vous avez vues dans ce chapitre, c'est que tous les itérables ne sont pas de vraies listes. Parmi les exemples, on a notamment les chaînes de caractères et l'utilisation de la fonction range(). Dans cet exercice, nous allons nous concentrer sur range().

Vous pouvez utiliser range() dans une boucle for comme s'il s'agissait d'une liste à parcourir :

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

Rappelez-vous que range() ne crée pas réellement la liste ; il crée plutôt un objet range avec un itérateur qui produit les valeurs jusqu'à atteindre la limite (dans l'exemple, jusqu'à la valeur 4). Si range() créait la véritable liste, l'appeler avec une valeur de \(10^{100}\) pourrait ne pas fonctionner, surtout qu'un nombre aussi grand pourrait dépasser la mémoire d'un ordinateur ordinaire. La valeur \(10^{100}\) s'appelle en fait un Googol, soit un 1 suivi de cent zéros. C'est énorme !

Votre tâche dans cet exercice est de montrer qu'appeler range() avec \(10^{100}\) ne précrée pas réellement la liste.

Instructions

100 XP
  • Créez un objet itérateur small_value sur range(3) à l'aide de la fonction iter().
  • À l'aide d'une boucle for, itérez sur range(3) et affichez la valeur à chaque itération. Utilisez num comme variable de boucle.
  • Créez un objet itérateur googol sur range(10 ** 100).