Berikut ini adalah pertanyaan dari typeyups pada mata pelajaran TI untuk jenjang Sekolah Menengah Atas
Jawaban dan Penjelasan
Berikut ini adalah pilihan jawaban terbaik dari pertanyaan diatas.
Jawaban:
Mengenai fungsi spesifik Anda, inilah salah satu cara Anda dapat menulisnya
def foo (row):
if row == 0:
return [0]
else:
return [row] + foo (row - 1)
print(foo(10))
# [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
Mungkin cara penulisan yang lebih "pythonic" adalah
print([10 - x for x in range (0, 11)])
# [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
Mengenai segitiga pascal, inilah salah satu cara Anda dapat menulis program menggunakan pembantu bantu dan gaya passing lanjutan – bagi mereka yang bertanya-tanya, pilihan ini dibuat agar hasilnya dapat dirakit secara langsung dan secara rekursif panggilan dalam posisi ekor, artinya fungsi ini dapat dengan mudah diletakkan di atas trampolin agar aman dari tumpukan jika perlu
def sliding (n,xs):
if n > len(xs):
return []
else:
return [xs[0:n]] + sliding(n, xs[1:])
def pascal (n):
def aux (m, prev, k):
if n == m:
return k([prev])
else:
return aux(m + 1, [1] + [x + y for (x,y) in sliding(2, prev)] + [1], lambda rest: k([prev] + rest))
return aux(1, [1], lambda x: x)
for line in pascal(5):
print(line)
# [1]
# [1, 1]
# [1, 2, 1]
# [1, 3, 3, 1]
# [1, 4, 6, 4, 1]
Semoga dengan pertanyaan yang sudah terjawab oleh BRAlNLY dapat membantu memudahkan mengerjakan soal, tugas dan PR sekolah kalian.
Apabila terdapat kesalahan dalam mengerjakan soal, silahkan koreksi jawaban dengan mengirimkan email ke yomemimo.com melalui halaman Contact
Last Update: Mon, 20 Jun 22