Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from typing import Generator, List
- def fib() -> Generator:
- """Generates fibonacci sequence."""
- a = 0
- b = a + 1
- yield a
- yield b
- while True:
- c = a + b
- a = b
- b = c
- yield c
- def from_position(seq: Generator, start_from: int = 0) -> Generator:
- """Generates sequence starting from position."""
- counter = 0
- while True:
- counter += 1
- if start_from < counter:
- yield next(seq)
- else:
- next(seq)
- def get_fib_array(length: int, start_from: int = 0) -> List[int]:
- """Generates fibonacci sequence of length starting from position."""
- _seq = fib()
- gen_from_pos = from_position(_seq, start_from)
- return [next(gen_from_pos) for _ in range(length)]
- if __name__ == '__main__':
- _sequence = fib()
- print([next(_sequence) for _ in range(10)])
- print(get_fib_array(5, 0))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement