Handles skeletonization and deskeletonization of python code.
Project description
skeletonize
Handles skeletonization and deskeletonizaiton of programs. This allows for easily distributing assignments to students that contain skeleton code, and determining which parts of the skeleton they filled in after the fact, extracting blanks.
skeletonization
Skeletonization works by taking in a piece of code with "skeleton markers" as so:
def factorial(x):
if <<<x == 0>>>:
return <<<1>>>
else:
return <<<x>>> * <<<factorial(x - 1)>>>
and converting it into either a skeleton
def factorial(x):
if ______:
return ______
else:
return ______ * ______
or a solution
def factorial(x):
if x == 0:
return 1
else:
return x * factorial(x - 1)
reskeletonization
Reskeletonization works by taking a skeleton:
def factorial(x):
if <<<x == 0>>>:
return <<<1>>>
else:
return <<<x>>> * <<<factorial(x - 1)>>>
and a student solution:
def factorial(x):
if not x:
return 1
else:
return x * factorial(x)
and produces a reskeletonized program
def factorial(x):
if <<<not x>>>:
return <<<1>>>
else:
return <<<x>>> * <<<factorial(x)>>>
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
skeletonize-2.8.tar.gz
(6.0 kB
view details)
File details
Details for the file skeletonize-2.8.tar.gz
.
File metadata
- Download URL: skeletonize-2.8.tar.gz
- Upload date:
- Size: 6.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 662ea8b56e2505cfb19f4733c1a8709f87fa10104e3ac4ee5529b2abcef2329c |
|
MD5 | f964dc7f8001314a5b78212c6cf7718c |
|
BLAKE2b-256 | 4b608809ccbb04e816f8ea18b4172bfe907a8144918ca05a4a4b648180a6ff51 |