Mengulang dengan for dan while
range(5) menghasilkan 0, 1, 2, 3, dan 4: lima angka, dan 5 tidak termasuk.
Jalankan perulangan tiga baris dan amati total bertambah
Salin program ini ke IDLE dan jalankan sebelum membaca penjelasan. Lalu ganti list dengan angkamu sendiri dan jalankan lagi.
total = 0
for n in [3, 5, 2]:
total = total + n
print(n, total)
print("done", total)3 3
5 8
2 10
done 10Baris for mengambil item list satu per satu. Setiap putaran, variabel n merujuk ke item berikutnya, dan baris berinden di bawah dijalankan sekali dengan nilai itu. Satu putaran melalui baris berinden disebut iterasi. Setelah item terakhir, Python melanjutkan ke baris pertama yang tidak berinden, sehingga "done" hanya dicetak sekali di akhir. Tabel penelusuran memperjelas polanya.
| Putaran | n | total setelah putaran | Yang dicetak |
|---|---|---|---|
| (sebelum) | 0 | ||
| 1 | 3 | 3 | 3 3 |
| 2 | 5 | 8 | 5 8 |
| 3 | 2 | 10 | 2 10 |
| (sesudah) | 10 | done 10 |
Variabel total disebut akumulator: nilainya dimulai dari 0 sebelum perulangan dan mengumpulkan sesuatu pada setiap putaran. Baris total = total + n begitu umum sehingga Python memiliki bentuk singkat, total += n. Menghitung banyaknya item bekerja dengan cara yang sama menggunakan count += 1.
range() membuat deretan angka untukmu
Untuk mengulang sesuatu sebanyak jumlah tertentu, gunakan perulangan pada range(). range(5) menghasilkan 0, 1, 2, 3, 4: dimulai dari 0 dan berhenti sebelum 5, seperti irisan. range(1, 6) menghasilkan 1 sampai 5. Angka ketiga menentukan langkah, sehingga range(0, 10, 2) menghasilkan bilangan genap 0 sampai 8. Tabel perkalian 7, yang dihafalkan setiap murid Korea di kelas dua, dapat dibuat dengan perulangan dua baris.
for i in range(1, 10):
print(7, "x", i, "=", 7 * i)7 x 1 = 7
7 x 2 = 14
7 x 3 = 21
7 x 4 = 28
7 x 5 = 35
7 x 6 = 42
7 x 7 = 49
7 x 8 = 56
7 x 9 = 63Perulangan for juga dapat menelusuri karakter string, sehingga menghitung huruf menjadi mudah.
count = 0
for ch in "banana":
if ch == "a":
count += 1
print(count)3while mengulang selama kondisi tetap True
Perulangan while tidak memiliki list untuk ditelusuri. Perulangan ini memeriksa kondisi, menjalankan baris berinden jika True, lalu memeriksa lagi, berulang kali. Ini cocok untuk pekerjaan yang jumlah putarannya belum diketahui, seperti "terus menabung sampai jumlahnya mencapai 50 000 won". Sesuatu di dalam perulangan harus mengubah kondisi, atau perulangan tidak akan berakhir. Jika itu terjadi, hentikan program dengan Ctrl+C.
saved = 0
weeks = 0
while saved < 50000:
saved += 12000
weeks += 1
print(weeks, saved)5 60000break langsung keluar dari perulangan, bahkan di tengah putaran. Ini berguna saat mencari sesuatu dan kamu bisa berhenti segera setelah menemukannya. Perulangan di bawah berhenti pada nilai pertama di bawah 60 dan tidak pernah memeriksa 88.
for s in [72, 91, 55, 88]:
if s < 60:
print("first below 60:", s)
break
print("ok", s)ok 72
ok 91
first below 60: 55| for x in ... | Menjalankan baris berinden sekali untuk setiap item |
| range(a, b) | Bilangan bulat dari a sampai sebelum b |
| while | Mengulang selama kondisi True |
| akumulator | Variabel yang mengumpulkan jumlah selama beberapa putaran |
| += | total += n adalah bentuk singkat total = total + n |
| break | Langsung keluar dari perulangan |
- Apa yang dicetak kode ini?
for i in range(3): print(i)0
1
21
2
30
1
2
33
- Apa yang dicetak kode ini?
total = 0 for n in range(1, 5): total += n print(total) - Apa yang dicetak kode ini?
print(list(range(0, 10, 3))) - Apa yang dicetak kode ini?
total = 0 for n in [1, 2, 3]: total += n print(total)61
3
61
2
30
1
3
- Apa yang dicetak kode ini?
count = 0 for ch in "seoul": if ch in "aeiou": count += 1 print(count) - Apa yang dicetak kode ini?
n = 1 while n < 20: n = n * 2 print(n) - Apa yang dicetak kode ini?
for s in [5, 8, 3, 9]: if s > 6: print(s) break - Berapa kali kode ini mencetak hi?
for i in range(2, 8): print("hi") - Apa yang dicetak kode ini?
word = "" for ch in "abc": word = ch + word print(word) - Urutkan baris agar program mencetak jumlah 1 sampai 100.Keluaran
5050
- "range(1, 10) berjalan sampai 10." Berhenti sebelum 10, sehingga nilai terakhir adalah 9. Untuk 1 sampai 10, tulis range(1, 11).
- "Perulangan while-ku baik-baik saja; hanya lama." Jika tidak ada yang mengubah kondisi di dalam perulangan, perulangan tidak pernah berhenti. Pastikan variabel pada kondisi diperbarui setiap putaran, dan tekan Ctrl+C untuk menghentikan perulangan yang tidak terkendali.
- "Menempatkan print di dalam atau di luar perulangan tidak ada bedanya." Jika berinden di bawah for, print dijalankan setiap putaran; jika sejajar margin kiri, print dijalankan sekali setelah perulangan. Tentukan apakah kamu ingin setiap langkah atau hanya jawaban akhir.
- for x in list: menjalankan baris berinden sekali per item.
- range(a, b) berhenti sebelum b; range(n) adalah 0 sampai n - 1.
- Akumulator dimulai sebelum perulangan dan bertambah di dalamnya.
- while mengulang selama kondisi True; sesuatu harus mengubahnya.
- break langsung keluar dari perulangan.
Sumber kursus ini (6)
- Python Software Foundation, The Python Tutorial for Python 3.12 (docs.python.org/3.12/tutorial: 2 Using the Python Interpreter, 3 An Informal Introduction to Python (numbers, text, lists), 4 More Control Flow Tools (if, for, range, break and continue, defining functions, default argument values, 4.10 coding style: 4-space indentation), 5 Data Structures (list methods, 5.5 dictionaries, insertion order), 8 Errors and Exceptions (syntax errors, exceptions, reading the traceback, handling exceptions), 15 Floating-Point Arithmetic (0.1 + 0.2))
- Built-in Functions (docs.python.org/3.12/library/functions.html: print, input, len, int, float, str, type, round (round half to even: round(0.5) and round(-0.5) are 0, round(1.5) is 2), range, sum, min, max, sorted)
- Built-in Types (str methods upper, lower, replace, strip; dict.get; list.append, pop, remove, sort returning None)
- General Python FAQ (docs.python.org/3.12/faq/general.html: Guido van Rossum began Python in the 1989 Christmas holidays, posted it to USENET in February 1991, named it after Monty Python's Flying Circus)
- Curriculum for the Korean pages: 교육부 고시 제2022-33호 [별책 10] 정보과 교육과정 (PDF read 2026-10-19: 중학교 정보 [9정03-05] 리스트 등 데이터를 순차적으로 저장하는 구조, [9정03-06] 논리 연산과 중첩 제어 구조, [9정03-07] 함수 활용과 디버거로 오류 수정, [9정03-08] 실생활 문제를 프로그래밍으로 해결, 적용 시 고려 사항 「학생의 수준을 고려하여 적합한 프로그래밍 언어를 선정」; 고등학교 정보 [12정03-04] 자료형, [12정03-05] 표준입출력, [12정03-07] 제어 구조)
- Bug story only: Smithsonian National Museum of American History, Log Book With Computer Bug, 1947, Harvard Mark II, "first actual case of bug being found", probably not Hopper's log book (americanhistory.si.edu/collections/object/nmah_334663, read 2026-10-19)
Diperiksa: 2026-10-19