Buatlah program python dengan fungsi rekursif yang menampilkan “10 9

Berikut ini adalah pertanyaan dari typeyups pada mata pelajaran TI untuk jenjang Sekolah Menengah Atas

Buatlah program python dengan fungsi rekursif yang menampilkan “10 9 8 7 6 5 4 3 2 1 0”!​

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