Кирнев Юрий, 321 группа RndSwissknife 16420
Мелия Ереджепова, 318 группа RndSwissknife 17044
f1import randomf1import random
2from collections.abc import Sequence, Iterable2from collections.abc import Sequence, Iterable
33
4def rnd(a, b=None):4def rnd(a, b=None):
5    match (a, b):5    match (a, b):
6        case [str() as a, int() as b]:6        case [str() as a, int() as b]:
t7            s = random.randint(0, len(a) - b)t7            start = random.randint(0, len(a) - b)
8            return a[s:s + b]8            return a[start:start + b]
9        case [str() as a, None]:9        case [str() as a, None]:
10            return random.choice(a.split())10            return random.choice(a.split())
11        case [str() as a, str() as b]:11        case [str() as a, str() as b]:
12            return random.choice(a.split(b))12            return random.choice(a.split(b))
13        case [int() as a, None]:13        case [int() as a, None]:
14            return random.randint(0, a)14            return random.randint(0, a)
15        case [int() as a, int() as b]:15        case [int() as a, int() as b]:
16            return random.randint(a, b)16            return random.randint(a, b)
17        case [float() as a, int() | float() as b] | [int() | float() as 17        case [float() as a, int() | float() as b] | [int() | float() as 
>a, float() as b]:>a, float() as b]:
18            return random.random() * (b - a) + a18            return random.random() * (b - a) + a
19        case [Sequence() as a, None]:19        case [Sequence() as a, None]:
20            return random.choice(a)20            return random.choice(a)
21        case [Iterable() as a, None]:21        case [Iterable() as a, None]:
22            return random.choice(list(a))22            return random.choice(list(a))
23        case [Sequence() as a, int() as b]:23        case [Sequence() as a, int() as b]:
24            return random.choices(a, k=b)24            return random.choices(a, k=b)
25        case [Iterable() as a, int() as b]:25        case [Iterable() as a, int() as b]:
26            return random.choices(list(a), k=b)26            return random.choices(list(a), k=b)
Legends
Colors
 Added 
Changed
Deleted
Links
(f)irst change
(n)ext change
(t)op