:param len: max number of elements :type len: int :return: Hexagonal numbers as a list Tests: >>> hexagonal_numbers(10) [0, 1, 6, 15, 28, 45, 66, 91, 120, 153] >>> hexagonal_numbers(5) [0, 1, 6, 15, 28] >>> hexagonal_numbers(0) Traceback (most rec
(length: int)
| 16 | |
| 17 | |
| 18 | def hexagonal_numbers(length: int) -> list[int]: |
| 19 | """ |
| 20 | :param len: max number of elements |
| 21 | :type len: int |
| 22 | :return: Hexagonal numbers as a list |
| 23 | |
| 24 | Tests: |
| 25 | >>> hexagonal_numbers(10) |
| 26 | [0, 1, 6, 15, 28, 45, 66, 91, 120, 153] |
| 27 | >>> hexagonal_numbers(5) |
| 28 | [0, 1, 6, 15, 28] |
| 29 | >>> hexagonal_numbers(0) |
| 30 | Traceback (most recent call last): |
| 31 | ... |
| 32 | ValueError: Length must be a positive integer. |
| 33 | """ |
| 34 | |
| 35 | if length <= 0 or not isinstance(length, int): |
| 36 | raise ValueError("Length must be a positive integer.") |
| 37 | return [n * (2 * n - 1) for n in range(length)] |
| 38 | |
| 39 | |
| 40 | if __name__ == "__main__": |