Зиннуров Артём, 617 группа RndSwissknife 18664
Абрамов Валентин, 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):
n5    match [a, b]:n5    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)
10        case [float(), int() | float()]:10        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()]:
n13            start_idx = random.randint(0, len(a) - b)n13            idx = random.randint(0, len(a) - b)
14            return a[start_idx:start_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()]:
18            return random.choice(a.split(b))18            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