generated from hexlet-basics/exercises-template
-
Notifications
You must be signed in to change notification settings - Fork 3
/
description.ru.yml
52 lines (35 loc) · 4.03 KB
/
description.ru.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
---
name: Детерминированность
theory: |
У функций внутри каждого языка программирования есть фундаментальные свойства. Эти свойства помогают прогнозировать поведение функций, способы их тестирования и место использования. К таким свойствам относится детерминированность.
Детерминированная функция возвращает один и тот же результат для одинаковых входных параметров. Например, детерминированной можно назвать функцию, которая считает количество символов:
```python
len('hexlet') # 6
len('hexlet') # 6
len('wow') # 3
len('wow') # 3
```
Можно бесконечно вызывать эту функцию и передавать туда значение `'hexlet'` — она всегда вернет `6`.
Посмотрим и обратный случай — недетерминированные функции. Например, к этой категории относится функция, которая возвращает случайное число: у одного и того же входа мы получим всегда разный результат. Если хотя бы один из миллиона вызовов функция вернет другой результат, она считается недетерминированной. Это работает и в том случае, если параметры не принимаются:
```python
# Синтаксис импортов будет изучаться позже на Хекслете
from random import random
# Функция, которая возвращает случайное число
random() # 0.09856613113197676
random() # 0.8839904367241888
```
Детерминированность — это важное свойство функции, так как она влияет на многие аспекты. Например, детерминированные функции удобны в работе — их легко оптимизировать и тестировать. Если возможно, то лучше сделать функцию детерминированной.
instructions: |
Функция `random()` возвращает случайное число от 0 до 1 с большим количеством знаков после запятой. Реализуйте код, который выводит на экран случайное целое число в диапазоне от 0 до 10. Для этой задачи вам понадобится функция `random()` и функция [round()](https://docs.python.org/3/library/functions.html#round), которая округляет переданное ей значение
```python
round(2.320000789855705) # 2
```
Попробуйте решить это задание в одну строчку
## Алгоритм
Так как функция `random()` возвращает числа в диапазоне от 0 до 1, то чтобы получить числа от 0 до 10, нам нужно выполнить умножение на 10. Затем получившиеся число округляется и так мы получаем то, что нужно.
tips:
- |
[Детерминированные функции](https://ru.wikipedia.org/wiki/Чистота_функции#Детерминированность_функции)
definitions:
- name: Побочный эффект
description: "действие, которое изменяет внешнее окружение (среду выполнения). Например, вывод на экран или отправка письма."