55 lines
4.2 KiB
Python
55 lines
4.2 KiB
Python
import random
|
||
|
||
names_pool = (
|
||
"Иван", "Мария", "Петр", "Анна", "Сергей", "Елена", "Алексей", "Ольга",
|
||
"Дмитрий", "Татьяна", "Михаил", "Наталья", "Андрей", "Ирина", "Николай",
|
||
"Светлана", "Владимир", "Екатерина", "Александр", "Юлия", "Павел", "Ксения",
|
||
"Виктор", "Анастасия", "Артем", "Виктория", "Максим", "Полина", "Даниил",
|
||
"София", "Евгений", "Алиса", "Станислав", "Дарья", "Георгий", "Вероника",
|
||
"Кирилл", "Маргарита", "Тимофей", "Арина", "Руфина", "Илларион", "Стелла",
|
||
"Роман", "Валерия", "Игорь", "Алина", "Олег", "Диана", "Юрий", "Милана",
|
||
"Василий", "Ева", "Никита", "Алиса", "Константин", "Кира", "Денис", "Ангелина",
|
||
"Вячеслав", "Мирослава", "Григорий", "Эмилия", "Леонид", "Василиса", "Руслан",
|
||
"Стефания", "Арсений", "Есения", "Антон", "Яна", "Матвей", "Любовь", "Семен",
|
||
"Надежда", "Федор", "Софья", "Лев", "Варвара", "Егор", "Амелия", "Борис",
|
||
"Агата", "Захар", "Камилла", "Давид", "Олеся", "Ярослав", "Людмила", "Данила",
|
||
"Регина", "Марк", "Каролина", "Артур", "Нелли", "Глеб", "Инна", "Платон",
|
||
"Нина", "Святослав", "Римма", "Родион", "Лидия", "Эдуард", "Жанна", "Вадим",
|
||
"Рената", "Савелий", "Алла", "Назар", "Снежана", "Демид", "Лариса", "Филипп",
|
||
"Злата", "Тимур", "Майя", "Клим", "Эльвира", "Дамир", "Таисия", "Илья",
|
||
"Роза", "Виталий", "Азалия", "Степан", "Лиана", "Богдан", "Инесса", "Эрик",
|
||
"Ариана", "Алан", "Юлиана", "Лука", "Антонина", "Мирон", "Клавдия", "Гордей",
|
||
"Руслана", "Макар", "Елизавета", "Северин", "Александра", "Моисей", "Агафья",
|
||
"Наум", "Серафима", "Влад", "Фаина", "Кузьма", "Пелагея", "Ермак", "Ульяна",
|
||
"Тарас", "Марианна", "Остап", "Бронислава", "Архип", "Владислава", "Фома",
|
||
"Станислава", "Еремей", "Зинаида", "Прохор", "Раиса", "Мстислав", "Галина",
|
||
"Ростислав", "Валентина", "Серафим", "Евдокия", "Лаврентий", "Кристина",
|
||
"Никон", "Анфиса", "Феликс", "Лия", "Иннокентий", "Роксана", "Всеволод",
|
||
"Эвелина", "Модест", "Юнона", "Трофим", "Изабелла", "Аполлон", "Глория",
|
||
"Касьян", "Аврора", "Любомир", "Адель", "Бронислав", "Доминика", "Афанасий",
|
||
"Фрида", "Евстафий", "Ассоль", "Венедикт", "Цветана", "Епифан", "Мелисса",
|
||
"Добрыня"
|
||
)
|
||
|
||
_non_existent_names = [
|
||
"Ноль", "Целковый", "Полушка", "Четвертушка", "Осьмушка",
|
||
"Пудовичок", "Медячок", "Серебрячок", "Золотничок", "Девятичок"
|
||
]
|
||
assert set(names_pool).isdisjoint(set(_non_existent_names)), \
|
||
"В списке несуществующих имён существуют существующие имена сущностей"
|
||
names_pool_to_find = random.choices(names_pool, k=100) + _non_existent_names
|
||
|
||
def generate_phone(phone_len=11) -> str:
|
||
# 88005553535
|
||
return str(random.randint(10**phone_len, 10**(phone_len+1)-1))
|
||
|
||
def generate_test_data(N=10000, _sorted=False):
|
||
records = []
|
||
for i in range(N):
|
||
name = random.choice(names_pool)
|
||
phone = generate_phone()
|
||
records.append((name, phone))
|
||
|
||
if _sorted:
|
||
return sorted(records)
|
||
return records |