Iterator cykliczny
Lekcja 12 z 13 w kursie Iteratory w Pythonie w Coddy.
Wyzwanie
ŚredniUtwórz klasę ColorCycler, która implementuje iterator cykliczny dla listy kolorów. Klasa powinna mieć następujące metody:
__init__(self, colors): Zainicjuj iterator listą kolorów.__iter__(self): Zwróć sam obiekt iteratora.__next__(self): Zwróć następny kolor w cyklu.
Po zaimplementowaniu klasy ColorCycler użyj jej do wygenerowania sekwencji kolorów na podstawie danych wejściowych. Program powinien:
- Utworzyć instancję
ColorCyclerz kolorami z danych wejściowych. - Wygenerować i wypisać określoną liczbę kolorów z iteratora.
Dane wejściowe będą zawierać:
- ciąg kolorów rozdzielonych przecinkami
- liczbę całkowitą określającą liczbę kolorów do wygenerowania
Wypisz każdy wygenerowany kolor w nowym wierszu.
Spróbuj swoich sił
# Wczytaj dane wejściowe
colors = input().split(',')
num_colors = int(input())
class ColorCycler:
def __init__(self, colors):
# TODO: Zainicjalizuj ColorCycler
def __iter__(self):
# TODO: Zaimplementuj metodę __iter__
def __next__(self):
# TODO: Zaimplementuj metodę __next__
# TODO: Utwórz instancję ColorCycler z kolorami z danych wejściowych
# TODO: Wygeneruj i wypisz określoną liczbę kolorów
# Uwaga: Pamiętaj, aby wypisać każdy kolor w nowym wierszuWszystkie lekcje w sekcji Iteratory w Pythonie
4Zadania praktyczne
Iterator o niestandardowym zakresieIterator FibonacciegoIterator cyklicznyIterator filtrujący2Tworzenie własnych iteratorów
Implementowanie __iter__()Implementowanie __next__()Iteratory nieskończonePoćwicz samodzielnie: Kompilator Python online