Yinelenebilirler üzerinde yineleme (2)
Bu bölümde öğrendiğin şeylerden biri, tüm yinelenebilirlerin gerçek liste olmadığıydı. Baktığımız birkaç örnek stringler ve range() fonksiyonuydu. Bu egzersizde range() fonksiyonuna odaklanacağız.
range()'i bir for döngüsünde, üzerinde yineleme yapılacak bir liste miş gibi kullanabilirsin:
for i in range(5):
print(i)
range()'in aslında liste oluşturmadığını, bunun yerine sınırına ulaşana kadar değerleri üreten bir yineleyiciye sahip bir range nesnesi yarattığını unutma (örnekte, değer 4'e kadar). Eğer range() gerçek listeyi oluştursaydı, onu \(10^{100}\) değeriyle çağırmak işe yaramayabilirdi; özellikle de bu kadar büyük bir sayı normal bir bilgisayarın belleğini aşabileceği için. \(10^{100}\) değeri aslında 1'in ardından yüz tane 0 gelen, Googol olarak adlandırılan sayıdır. Bu gerçekten çok büyük bir sayı!
Bu egzersizdeki görevin, range()'i \(10^{100}\) ile çağırmanın listeyi önceden oluşturmayacağını göstermek.
Bu egzersiz
Python Araç Kutusu
kursunun bir parçasıdırEgzersiz talimatları
iter()fonksiyonunu kullanarakrange(3)üzerindesmall_valueadlı bir yineleyici (iterator) nesnesi oluştur.- Bir
fordöngüsü kullanarakrange(3)üzerinde yinele ve her yinelemede değeri yazdır. Döngü değişkeni olaraknumkullan. range(10 ** 100)üzerindegoogoladlı bir yineleyici (iterator) nesnesi oluştur.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# 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))