Menu
CoddyTech

Iterator Rentang Kustom

Pelajaran 10 dari 13 dalam kursus Iterator Python di Coddy.

challenge icon

Tantangan

Mudah

Buat class iterator kustom bernama StepRange yang menghasilkan urutan angka dengan ukuran langkah kustom. Iterator ini harus meniru perilaku fungsi bawaan Python range(), tetapi dengan ukuran langkah yang lebih fleksibel.

Class StepRange harus:

  • Menerima parameter start, stop, dan step di konstruktornya
  • Menerapkan method __iter__() untuk mengembalikan object iterator itu sendiri
  • Menerapkan method __next__() untuk menghasilkan nilai berikutnya dalam urutan
  • Menangani ukuran langkah positif maupun negatif
  • Menghasilkan exception StopIteration saat urutan habis

Setelah menerapkan class StepRange, buat instance-nya menggunakan nilai input, lalu cetak setiap angka yang dihasilkan pada baris baru.

Input berikut akan diberikan:

  • Tiga bilangan bulat yang dipisahkan oleh spasi, yang mewakili start, stop, dan step

Coba sendiri

# Baca input
start, stop, step = map(int, input().split())

class StepRange:
    def __init__(self, start, stop, step):
        self.start = start
        self.stop = stop
        self.step = step
        self.current = start

    def __iter__(self):
        return self

    def __next__(self):
        # TODO: Implementasikan method __next__()
        pass

# Buat instance dari StepRange
step_range = StepRange(start, stop, step)

# TODO: Iterasi StepRange dan cetak setiap nilai
# Ingat, cetak setiap nilai pada baris baru

Semua pelajaran di Iterator Python

Latihan sendiri: Compiler Python online