2026-rff_mp/SimonovaMS/generator_1.py
2026-03-15 18:54:31 +03:00

49 lines
1.8 KiB
Python

import random
from typing import List, Tuple
def generate_data(n=10000):
records = []
for i in range(n):
name = f"User_{i:05d}"
phone = f"8{random.randint(900,999)}{random.randint(100,999)}{random.randint(0,9)}{random.randint(0,9)}{random.randint(0,9)}{random.randint(0,9)}"
records.append((name,phone))
records_shuffled = records.copy()
random.shuffle(records_shuffled)
records_sorted = sorted(records, key=lambda x:x[0])
return records_shuffled, records_sorted
def generate_search(records, exist_count=100, no_exist_count=10):
exist_names = [name for name, _ in records]
select_exist = random.sample(exist_names, min(exist_count, len(exist_names)))
no_exist_count=[f"None_{i:05d}" for i in range(no_exist_count)]
return select_exist + no_exist_count
def generate_delete(records, count=50):
names = [name for name, _ in records]
return random.sample(names, min(count, len(names)))
## Генерируем данные
# shuffled, sorted_records = generate_data(10) # 10 записей для примера
#
# print("=== Перемешанные записи (первые 5) ===")
# for record in shuffled[:5]:
# print(f" {record}")
#
# print("\n=== Отсортированные записи (первые 5) ===")
# for record in sorted_records[:5]:
# print(f" {record}")
#
# # Генерируем поисковые запросы
# search_queries = generate_search(sorted_records, exist_count=5, no_exist_count=3)
# print(f"\n=== Поисковые запросы (всего {len(search_queries)}) ===")
# print(search_queries)
#
# # Генерируем запросы на удаление
# delete_queries = generate_delete(sorted_records, count=5)
# print(f"\n=== Запросы на удаление (всего {len(delete_queries)}) ===")
# print(delete_queries)