About range()

Oleh Michaeladiitya 104 0 pada Jumat, 9 Juni 2017, 11:20:33


Kembali ke forum soal ini

#python #fungsi-dan-modul #fungsi-built-in


Petunjuk Diskusi
Silahkan masuk untuk berdiskusi



mau tanya ni mas/mbak..

pada listing program dibawah ini, aku masih agak bingung aja ttg instruksi range()

# saat inputnya satu, range(X)
# artinya dari 0 hingga X
print range(5)

++
Disitu dijelaskan artinya dari 0 hingga 5, tapi kenapa hasilnya [0, 1, 2, 3, 4] bukan [0, 1, 2, 3, 4, 5] ??
Apakah instruksi range() adalah jumlah variabel yang ditampilkan dalam range tertentu atau bagaimana?

mohon pencerahannya, terimakasih ^^

0 jempol


bramanto
300
951
· 2 tahun, 8 bulan yang lalu · 0 jempol

Halo coder @Michaeladiitya, pertanyaan yang bagus sekali!, 

Ketika menuliskan seperti ini :
print range(5)

hasilnya akan seperti ini :
[0, 1, 2, 3, 4]

Penjelasannya :
fungsi range sebenarnya memiliki 3 parameter
range(start, stop[, step])

Jika argumen langkah dihilangkan, maka defaultnya adalah 1. 
Jika argumen awal dihilangkan, defaultnya adalah 0. 
Bentuk penuh mengembalikan daftar bilangan bulat polos [mulai, mulai + langkah, mulai + 2 * langkah, ...] 

secara singkatnya :
Jika tidak ada parameter awal yang dimasukkan makan range akan menghitung mulai dari nol (seperti index array) dengan kata lain nilai masukkan - 1 ( dalam contoh 5 - 1)

bramanto
300
951
· 2 tahun, 8 bulan yang lalu · 0 jempol

Tambahan, sebagai referensi lengkapnya bisa dilihat disini : 

https://docs.python.org/2/librar...

Michaeladiitya
104
0
penanya
· 2 tahun, 8 bulan yang lalu · 0 jempol

Halo coder @bramanto,, terimakasih buat pencerahannya..

berarti jika menuliskan print range(stop) begini :
print range(4)

maka hasilnya akan seperti in :
[0, 1, 2, 3]

>> artinya, jika (stop) tersebut diganti dengan bilangan integer, maka hasinya akan dimulai dari "0" sampai dengan nilai dibawah/sebelum batas integer tersebut, dan integer tersebut tidak akan masuk dalam hasil.

begitukah mas kira" ?

bramanto
300
951
· 2 tahun, 8 bulan yang lalu · 0 jempol

Halo coder @Michaeladiitya, yaa kurang lebih seperti itu.. tetap semangat ^_^ Happy Coding!

maulanayusufmuhammad
62
1
· 1 bulan, 1 minggu yang lalu · 0 jempol

Halo coder @bramanto bisakah anda menjelaskan secara rinci

bramanto
300
951
· 1 bulan, 1 minggu yang lalu · 0 jempol

Halo coder @maulanayusufmuhammad. Untuk penjelasannya bisa dilihat di komentar saya sebelumnya. 

https://codesaya.com/diskusi/d/a...

Tambahannya: range sama seperti array, akan selalu dimulai dari index ke-0 secara defaultnya.