/
udl
/
Test
Обзор
Документация
Войти
/
udl
/
Test
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
generate_test_variants.py
67 строк
3 KB
udl
Генератор тестов 1
26 май 2026, 22:31
26 май 2026, 22:31
659e36f
Код
Авторство
О чём код?
# Импортируем модуль random для перемешивания вопросов import random # Путь к файлу с вопросами questions_file = "questions.txt" # Количество вариантов тестов, которые нужно создать num_variants = 3 # Количество вопросов в каждом варианте questions_per_variant = 5 # Функция для чтения вопросов из файла # Принимает путь к файлу # Возвращает список вопросов def read_questions(filename): try: # Открываем файл для чтения with open(filename, 'r', encoding='utf-8') as file: # Читаем все строки из файла # strip() убирает символы переноса строки в конце каждой строки questions = [line.strip() for line in file if line.strip()] return questions except FileNotFoundError: # Если файл не найден, возвращаем пустой список print(f"Файл {filename} не найден.") return [] # Основная функция программы def main(): # Читаем вопросы из файла questions = read_questions(questions_file) # Проверяем, достаточно ли вопросов для создания вариантов if len(questions) < questions_per_variant: print(f"Недостаточно вопросов в файле. Требуется минимум {questions_per_variant} вопросов.") return # Перемешиваем список вопросов случайным образом # Это нужно, чтобы каждый раз порядок вопросов был разным random.shuffle(questions) # Создаем заданное количество вариантов for i in range(num_variants): # Выбираем нужное количество вопросов для текущего варианта # Используем срез: от начала до questions_per_variant variant_questions = questions[:questions_per_variant] # Формируем имя файла для текущего варианта # Например: variant_1.txt, variant_2.txt и т.д. filename = f"variant_{i+1}.txt" # Открываем файл для записи with open(filename, 'w', encoding='utf-8') as file: # Записываем каждый вопрос из варианта в файл # Добавляем номер вопроса и перенос строки for j, question in enumerate(variant_questions, 1): file.write(f"{j}. {question}\n") # Выводим сообщение о создании файла (для информации) print(f"Создан файл {filename}") # Сообщаем об успешном завершении программы print("Генерация тестовых вариантов завершена.") # Проверяем, запущен ли скрипт напрямую (а не импортирован как модуль) # Если да, то выполняем основную функцию if __name__ == "__main__": main()