pythonwhat
pythonwhat copied to clipboard
Verify Python code submissions and auto-generate meaningful feedback messages.
There seems to be a lot of duplication right now, that we should be able to cut out. Afterwards, maintenance and consistency across packages should be much better. Do with...
In the current implementation of `override()`, the solution is parsed into AST, but that AST is not further parsed by pythonwhat. This means that the following won't work, ``` Ex().check_if_else(0).override("if...
Use pytest to mark tests that have dependencies, so we can skip them. Rewrite with dependency free tests where important.
python3 allows ``` async def f(): pass ``` AFAIK this produces an AST node that is identical to FunctionDef, except it is named AsyncFunctionDef. In order to support async functions...
From slack discussion w/ @yrdatacamp e.g. **Solution** ``` x = sum(range(10)) x = ['a', 'b', 'c'] ``` SCT ``` Ex().check_assignment('x', 0).has_equal_ast() ``` checks the first assignment, and looks for the...
That is, submitting `x = ____` would lead to a feedback message like, "Be sure to fill in all of the blanks (`____`)."
in most AST nodes, when a missing attribute, 1. usually only corresponds to a single node, it is None 2. usually corresponds to one or more nodes, it is an...
kwonly args are those that follow an *args in a signature. This is because it's impossible to assign them by position. For example, `d` below... ``` python def func(a, b,...
Currently, pythonwhat uses subprocesses for evaluated student / solution. For cases where a main script imports a custom module that is part of an exercise, it would be useful to...
with the addition of `check_file`, pythonwhat can create a state for a file that is not python code. In this case, the ast tree (state.student_tree) will be None. if someone...