Iterator Rentang Kustom
Pelajaran 10 dari 13 dalam kursus Iterator Python di Coddy.
Tantangan
MudahBuat 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, danstepdi 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
StopIterationsaat 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, danstep
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 baruSemua pelajaran di Iterator Python
2Membuat Iterator Kustom
Mengimplementasikan __iter__()Mengimplementasikan __next__()Iterator Tak TerbatasLatihan sendiri: Compiler Python online