f | def rnd(a, b=None): | f | def rnd(a, b=None): |
n | import random | n | |
| if b is None: | | if b is None: |
| match a: | | match a: |
n | case int(value): | n | case int(a): |
| return random.randint(0, value) | | return random.randint(0, a) |
| case str(value): | | case str(a): |
| return random.choice(value.split()) | | return random.choice(a.split()) |
| case list(value): | | case list(a): |
| return random.choice(value) | | return random.choice(a) |
| case _: | | case _: |
| return random.choice(list(a)) | | return random.choice(list(a)) |
| else: | | else: |
| match (a, b): | | match (a, b): |
t | case [int(start), int(end)]: | t | case [int(a), int(b)]: |
| return random.randint(start, end) | | return random.randint(a, b) |
| case [float(start), int(end) | float(end)]: | | case [float(a), int(b) | float(b)]: |
| return start + (end - start) * random.random() | | return a + (b - a) * random.random() |
| case [str(text), int(length)]: | | case [str(a), int(b)]: |
| idx = random.randint(0, len(text) - length) | | start = random.randint(0, len(a) - b) |
| return text[idx:idx + length] | | return a[start:start + b] |
| case [str(text), str(separator)]: | | case [str(a), str(b)]: |
| return random.choice(text.split(separator)) | | return random.choice(a.split(b)) |
| case [list(items), int(count)]: | | case [list(a), int()]: |
| return random.choices(items, k=count) | | return random.choices(a, k=b) |
| case [_, int(count)]: | | case [_, int(b)]: |
| return random.choices(list(a), k=count) | | return random.choices(list(a), k=b) |