Latihan 1: Generators & yield — Python

Latihan 1 dari materi Generators & yield di Python — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.

Starter-nya sudah berisi fungsi fibonacci(n) dengan a, b = 0, 1 dan loop for _ in range(n):, plus dua baris di bawahnya yang mengumpulkan 10 angka pertama dengan list comprehension, hasil = [x for x in fibonacci(10)], lalu mencetaknya. Semua itu biarkan. Ganti pass di dalam loop dengan dua baris:

  1. yield a: serahkan angka yang sekarang. Baris ini yang membuat fibonacci jadi generator.
  2. a, b = b, a + b: geser ke pasangan angka berikutnya.

Output yang diharapkan:

[0, 1, 1, 2, 3, 5, 8, 13, 21, 34]

Yang diperiksa: output memuat [0, 1, 1, 2, 3, 5, 8, 13, 21, 34], kodenya punya def fibonacci(, sebuah perulangan (for ... in atau while), yield yang diikuti nilai (misalnya yield a), dan pemanggilan fibonacci(10). Generatornya juga harus benar untuk panjang lain: list(fibonacci(5)) harus [0, 1, 1, 2, 3].

Hint