ComeçarComece de graça

Iteração sobre iteráveis (2)

Uma das coisas que você aprendeu neste capítulo é que nem todos os iteráveis são listas reais. Alguns exemplos que examinamos são as strings e o uso da função range(). Neste exercício, vamos nos concentrar na função range().

Você pode usar range() em um loop for como se fosse uma lista a ser iterada:

for i in range(5):

    print(i)

Lembre-se de que range() não cria de fato a lista; em vez disso, ela cria um objeto range com um iterador que produz os valores até atingir o limite (no exemplo, até 4). Se range() criou a lista real, chamá-la com um valor de \(10^{100}\) pode não funcionar, especialmente porque um número tão grande como esse pode ultrapassar a memória de um computador comum. O valor \(10^{100}\) é, na verdade, o que chamamos de Googol, que é um 1 seguido de cem 0s. É um número enorme!

Sua tarefa neste exercício é mostrar que ao chamar range() com \(10^{100}\) não criará previamente a lista.

Este exercício faz parte do curso

Caixa de ferramentas Python

Ver curso

Instruções do exercício

  • Crie um objeto iterador small_value em range(3) usando a função iter().
  • Usando um loop for, itere sobre range(3), imprimindo o valor para cada iteração. Use num como a variável do loop.
  • Crie um objeto iterador googol em range(10 ** 100).

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# Create an iterator for range(3): small_value
small_value = ____

# Print the values in small_value
print(next(small_value))
print(next(small_value))
print(next(small_value))

# Loop over range(3) and print the values



# Create an iterator for range(10 ** 100): googol
googol = ____

# Print the first 5 values from googol
print(next(googol))
print(next(googol))
print(next(googol))
print(next(googol))
print(next(googol))
Editar e executar o código