pb1a38a600

Writing tests for factorial computation

Nov 12th, 2026
6
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.99 KB | None | 0 0
  1. Writing tests for factorial computation
  2.  
  3. Решение без тестов быстро ломается, поэтому добавим к задаче простые проверки.
  4.  
  5. Задача
  6.  
  7. Вычислить факториал натурального числа n: n! = 1 · 2 · … · n, а 0! = 1. Самая первая задача на циклы в учебнике.
  8.  
  9. Решение
  10.  
  11. ``python
  12. def factorial(n: int) -> int:
  13. result = 1
  14. for i in range(2, n + 1):
  15. result *= i
  16. return result
  17.  
  18. print(factorial(6))
  19. `
  20.  
  21. Как это работает
  22.  
  23. Аккумулятор result умножается на числа от 2 до n. Итеративное решение предпочтительнее рекурсивного: оно не переполняет стек вызовов.
  24.  
  25. Пример работы
  26.  
  27. `text
  28. 720
  29. `
  30.  
  31. Сложность
  32.  
  33. O(n) по времени, O(1) по памяти.
  34.  
  35. Проверка тестами
  36.  
  37. Хорошая привычка — проверять решение сразу на нескольких примерах, включая крайние случаи.
  38.  
  39. `python
  40. assert is_valid(True) is not None # базовая проверка вызова
  41. assert is_valid(False) is not None # и второй случай
  42. ``
  43.  
  44. Такой минимум уже защищает от случайной ошибки при правках кода.
  45.  
  46. Тесты вида assert удобны для учебных задач: они короткие, наглядные и не требуют фреймворков.
  47.  
  48. View Full Gallery → https://go.cbrop.com/prse
  49.  
  50. Related:
  51.  
  52. https://paper.wf/olgarichter62log/peg-x-max-amugea
  53. https://pastebin.com/iYwtaMKJ
  54. https://jaflysilve.freeflarum.com/d/23588-23588-quan-shi-jie-zui-hao-jiu-fu-li-ji-shi-jie-ding-ji-jiu-lei-fu-li-he-ji
  55. https://cultmtl.com/wp-content/uploads/event-manager-uploads/event_banner/2026/11/tiktok-fenomenleri-ifsa-6cb080.pdf
  56. https://jansenlaura51.wixsite.com/my-site-1/post/clip-sex-t%E1%BB%B1-quay
  57.  
Advertisement
Add Comment
Please, Sign In to add comment