Стрельников Алексей, 617 RndSwissknife 17208
Абрамов Валентин, 517 группа RndSwissknife 17110
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 [int(), None]:6        case [int(), None]:
7            return random.randint(0, a)7            return random.randint(0, a)
8        case [int(), int()]:8        case [int(), int()]:
9            return random.randint(a, b)9            return random.randint(a, b)
n10        case [float(), float() | int()]:n10        case [float(), int() | float()]:
11            return a + (b - a) * random.random()11            return a + (b - a) * random.random()
12        case [str(), int()]:12        case [str(), int()]:
13            idx = random.randint(0, len(a) - b)13            idx = random.randint(0, len(a) - b)
14            return a[idx:idx + b]14            return a[idx:idx + b]
15        case [str(), None]:15        case [str(), None]:
16            return random.choice(a.split())16            return random.choice(a.split())
17        case [str(), str()]:17        case [str(), str()]:
n18            return str(random.choice(a.split(b)))n18            return random.choice(a.split(b))
19        case [Sequence() | Iterable(), None]:19        case [Sequence() | Iterable(), None]:
n20            return random.choice(list(a))n20            return random.choice(tuple(a))
21        case [Sequence() | Iterable(), int()]:21        case [Sequence() | Iterable(), int()]:
t22            return random.choices(list(a), k=b)t22            return random.choices(tuple(a), k=b)
Legends
Colors
 Added 
Changed
Deleted
Links
(f)irst change
(n)ext change
(t)op