Python в браузере (Skulpt/Codeskulptor) + тесты?
Для школьного проекта я хочу сделать небольшой сайт, похожий на Codecademy, который учит программированию для начинающих. Я хочу, чтобы сайт обучал Python, так как у него есть синтаксис, который подходит для начинающих, и по этой причине я нашел Skulpt полезным, так как у него есть как браузер, так и возможности вывода текста.
Теперь мой вопрос: есть ли способ интегрировать тестирование с кодом, который пишет пользователь, чтобы сайт мог пометить код как правильный или неправильный? Например, задача может состоять в том, чтобы написать функцию, которая возвращает n-е число Фибоначчи, и сайт запускает предоставленный пользователем код и проверяет, например, что их fib(5) возвращает 8. Как это делает CodingBat?
1 ответ
Возможно, это небезопасное решение, но оно работает для моих текущих целей. Мой PHP скрипт вызывает shell_exec('python3 -c "X")
где X - предоставленный пользователем код, дополненный кодом, который я использую для тестирования, например, для вызова созданных им функций и т. д.