Жибурт Никита Максимович,316 RndSwissknife 16809
Синицын Виктор Сергеевич, 319/1 RndSwissknife 16821
t1import randomt1import random
22
3def rnd(a, b=None):3def rnd(a, b=None):
4    match (a, b):4    match (a, b):
5        case [int(), int()]:5        case [int(), int()]:
6            return random.randint(a, b)6            return random.randint(a, b)
7        case [int(), None]:7        case [int(), None]:
8            return random.randint(0, a)8            return random.randint(0, a)
9        case [float() | int() as x, float() | int() as y]:9        case [float() | int() as x, float() | int() as y]:
10            return (y - x) * random.random() + x10            return (y - x) * random.random() + x
11        case [str() as s, str() as sep]:11        case [str() as s, str() as sep]:
12            parts = s.split(sep)12            parts = s.split(sep)
13            return random.choice(parts)13            return random.choice(parts)
14        case [str() as s, int() as length]:14        case [str() as s, int() as length]:
15            start = random.randint(0, len(s) - length)15            start = random.randint(0, len(s) - length)
16            return s[start:start + length]16            return s[start:start + length]
17        case [str() as s, None]:17        case [str() as s, None]:
18            parts = s.split()18            parts = s.split()
19            return random.choice(parts)19            return random.choice(parts)
20        case [a, int() as cnt] if hasattr(a, '__iter__'):20        case [a, int() as cnt] if hasattr(a, '__iter__'):
21            lst = list(a)21            lst = list(a)
22            return random.choices(lst, k=cnt)22            return random.choices(lst, k=cnt)
23        case [a, None] if hasattr(a, '__iter__'):23        case [a, None] if hasattr(a, '__iter__'):
24            lst = list(a)24            lst = list(a)
25            return random.choice(lst)25            return random.choice(lst)
26        case _:26        case _:
27            raise ValueError27            raise ValueError
Legends
Colors
 Added 
Changed
Deleted
Links
(f)irst change
(n)ext change
(t)op