2026-rff_mp/kuznetsovTD/task1/generator/randomnames.py

52 lines
2.1 KiB
Python
Raw Normal View History

2026-04-30 20:54:08 +00:00
import random
name_pool = (
"Ivan", "Maria", "Peter", "Anna", "Sergey", "Elena", "Alexey", "Olga",
"Dmitry", "Tatyana", "Mikhail", "Natalia", "Andrey", "Irina", "Nikolay",
"Svetlana", "Vladimir", "Ekaterina", "Alexander", "Yulia", "Pavel", "Kseniya",
"Victor", "Anastasia", "Artem", "Victoria", "Maxim", "Polina", "Daniil",
"Sofia", "Evgeny", "Alice", "Stanislav", "Daria", "Georgy", "Veronika",
"Kirill", "Margarita", "Timofey", "Arina", "Roman", "Valeria", "Igor",
"Alina", "Oleg", "Diana", "Yuri", "Milana", "Vasily", "Eva", "Nikita",
"Leonid", "Stepan", "Bogdan", "Gleb", "Matvey", "Arseny", "Denis",
"Anton", "Vladislav", "Rodion", "Semyon", "Fedor", "Zahar", "Mark",
"Lev", "Artyomiy", "Yaroslav", "Timur", "Ruslan", "Boris", "Vadim",
"Konstantin", "Gennady", "Pavel", "Ilya", "Egor", "Nazar", "Damir",
"Vsevolod", "Platon", "Savely", "Svyatoslav", "Miron", "Arkady",
"Yevgeny", "Emil", "Arthur", "Demyan", "Rinat", "Marat", "Farid",
"Rustam", "Ilshat", "Azamat", "Marcel", "Albert", "Eduard", "Viktor", "Rostislav", "Gennady", "Yegor", "Petr", "Zakhar",
"Saveliy", "Gavriil", "Nestor", "Ignat", "Prokhor", "Taras",
"Severin", "Luka", "Artyomiy", "Radion", "Demyan", "Yefim","Neo", "Max", "Leo", "Sam", "Alex", "John", "Markus",
"Kevin", "Daniel", "Robert", "James", "Michael", "David",
"Andrew", "Chris", "Brian", "Steven", "Eric", "Thomas",
"Ryan", "Justin", "Aaron", "Jason", "Nathan", "Luke"
)
fake_names = [
"Zero", "Kopek", "Half", "Quarter", "Eighth",
"Pood", "Copper", "Silver", "Gold", "Ninth"
]
def generate_phone(length: int = 11) -> str:
start = 10 ** (length - 1)
end = (10 ** length) - 1
return str(random.randint(start, end))
def generate_dataset(size: int = 10000, sorted_flag: bool = False) -> list:
dataset = [
(random.choice(name_pool), generate_phone())
for _ in range(size)
]
if sorted_flag:
dataset.sort(key=lambda x: x[0])
return dataset
def generate_query_set() -> list:
return random.sample(name_pool, 100) + fake_names