import random from typing import List, Tuple Record = Tuple[str, str] def generate_records(n: int, repeat_names: bool = False, seed: int = 42) -> List[Record]: rng = random.Random(seed) records: List[Record] = [] if repeat_names: name_pool = [ "User_Alex", "User_Bob", "User_Cat", "User_Dan", "User_Eva", "User_Fox", "User_Geo", "User_Hen", "User_Ira", "User_Leo", ] for _ in range(n): name = rng.choice(name_pool) phone = f"{rng.randint(1000000000, 9999999999)}" records.append((name, phone)) else: for i in range(n): name = f"User_{i:05d}" phone = f"{1000000000 + i}" records.append((name, phone)) return records def prepare_records_variants(records: List[Record], seed: int = 42): rng = random.Random(seed) records_shuffled = list(records) rng.shuffle(records_shuffled) records_sorted = sorted(records, key=lambda x: x[0]) return records_shuffled, records_sorted