/
ssmih
/
Python
Обзор
Документация
Войти
/
ssmih
/
Python
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
dynamic_programming/climbing_stairs.py
42 строки
1 KB
pre-commit-ci[bot]
[pre-commit.ci] pre-commit autoupdate -- ruff 2025 stable format (#12521)
13 янв 2025, 23:52
Не верифицирован
13 янв 2025, 23:52
4fe50bc
Код
Авторство
О чём код?
#!/usr/bin/env python3 def climb_stairs(number_of_steps: int) -> int: """ LeetCdoe No.70: Climbing Stairs Distinct ways to climb a number_of_steps staircase where each time you can either climb 1 or 2 steps. Args: number_of_steps: number of steps on the staircase Returns: Distinct ways to climb a number_of_steps staircase Raises: AssertionError: number_of_steps not positive integer >>> climb_stairs(3) 3 >>> climb_stairs(1) 1 >>> climb_stairs(-7) # doctest: +ELLIPSIS Traceback (most recent call last): ... AssertionError: number_of_steps needs to be positive integer, your input -7 """ assert isinstance(number_of_steps, int) and number_of_steps > 0, ( f"number_of_steps needs to be positive integer, your input {number_of_steps}" ) if number_of_steps == 1: return 1 previous, current = 1, 1 for _ in range(number_of_steps - 1): current, previous = current + previous, current return current if __name__ == "__main__": import doctest doctest.testmod()