20. Pola loop — Solusi Pekerjaan Rumah
File solusi .py ada di
exercises/20/homework/solutions/.
Soal 1 — Faktorial
Soal. Kalikan 1 sampai 5 bersama-sama.
Cara memikirkannya. Akumulasi, tapi dengan
* bukan +. Mulai produk dari 1 —
mulai dari 0 dan jawabannya adalah 0, karena
apa pun dikali nol adalah nol.
Solusi.
product = 1
for i in range(1, 6):
product = product * i
print(product) # 120Soal 2 — Hitung kelipatan
Soal. Hitung angka dari 1 sampai 50 yang habis dibagi 7.
Solusi.
hits = 0
for i in range(1, 51):
if i % 7 == 0:
hits = hits + 1
print(hits) # 7 (7, 14, 21, 28, 35, 42, 49)Soal 3 — Kuadrat besar pertama
Soal. Temukan angka pertama yang kuadratnya lebih dari 200.
Solusi.
first = None
for i in range(1, 101):
if i * i > 200:
first = i
break
print(first) # 15 (14×14 = 196, 15×15 = 225)Kesalahan umum.
- Melupakan
break, sehingga loop terus berjalan danfirstmendarat di kecocokan terakhir, bukan yang pertama.
Tantangan — Statistik rentang dalam satu kali jalan
Soal. Total, hitungan genap, dan penanda habis-dibagi-9 dari satu loop.
Solusi.
total = 0
evens = 0
has_nine = False
for i in range(1, 21):
total = total + i
if i % 2 == 0:
evens = evens + 1
if i % 9 == 0:
has_nine = True
print("total", total) # 210
print("evens", evens) # 10
print("divisible by 9", has_nine) # True (9 and 18)Kesalahan umum.
- Menulis tiga loop terpisah untuk rentang yang sama. Satu kali jalan mengerjakan ketiga pekerjaan — itulah mengapa kamu belajar mengenali pola-polanya.
Selesai?
Itu mengakhiri Bagian 4. Kamu bisa membuat cabang dengan
if, bernalar tentang kebenaran dengan
and/or/not, mengulang dengan
setiap jenis loop, menyarangkan loop untuk grid, dan memilih pola loop
yang tepat langsung. Bagian 4 memiliki dua proyek mini
untuk menyatukan semuanya: Permainan Tebak Angka dan
Rock-Paper-Scissors.