Palindrome check
← run 2 · raw JSON · challenge definitions
100
score
tests (60%)5/5 passed
deliverables (20%)100%
content checks (20%)100%
01 what the model was asked
Create palindrome.py with exactly one function:
is_palindrome(text: str) -> bool
Return True if text reads the same forwards and backwards, ignoring letter case and ignoring every character that is not a letter or digit. Text with no letters or digits at all (including the empty string) counts as a palindrome.
Use only the Python standard library.
required deliverables + checks
✓deliverable: palindrome.py
✓palindrome.py must contain “def is_palindrome”
pytest suite it was graded against
test_palindrome.py · 22 lines · 480 B
from palindrome import is_palindrome def test_simple_palindrome(): assert is_palindrome("racecar") is True def test_simple_non_palindrome(): assert is_palindrome("hello") is False def test_ignores_case_and_punctuation(): assert is_palindrome("A man, a plan, a canal: Panama!") is True def test_empty_is_palindrome(): assert is_palindrome("") is True def test_digits(): assert is_palindrome("12321") is True assert is_palindrome("12345") is False
02 what it did — full transcript
promptthe exact instruction sent to the model
view full prompt
You are completing a coding task in one shot. Write complete files that satisfy the spec below. Tests (pytest) will be run against your files; you cannot run them yourself.
Reply with ONE JSON object and nothing else:
{"files": {"<relative path>": "<complete file content>", ...}}
Required deliverable files: palindrome.py
SPEC:
Create palindrome.py with exactly one function:
is_palindrome(text: str) -> bool
Return True if text reads the same forwards and backwards, ignoring letter case and ignoring every character that is not a letter or digit. Text with no letters or digits at all (including the empty string) counts as a palindrome.
Use only the Python standard library.
reply2832 tokens
view raw reply
{"files": {"palindrome.py": "def is_palindrome(text: str) -> bool:\n cleaned = ''.join(filter(str.isalnum, text.lower()))\n return cleaned == cleaned[::-1]"}}write_filepalindrome.py · 130 B
graded 100.05 passed, 0 failed
pytest output
..... [100%] 5 passed in 0.00s
03 what it wrote
1
files
3
lines
3
source lines
1
functions
0
classes
1
cyclomatic
1
max nesting
3.0
avg fn lines
stdlib imports: none
| File | LOC | SLOC | Fns | Complexity | Depth | Imports |
|---|---|---|---|---|---|---|
| palindrome.py | 3 | 3 | 1 | 1 | 1 | — |
palindrome.py · 3 lines · 130 B
def is_palindrome(text: str) -> bool: cleaned = ''.join(filter(str.isalnum, text.lower())) return cleaned == cleaned[::-1]
04 how it was graded
1
model calls
0
invalid actions
0
self test runs
2.8k
tokens out
—
tokens in
291.0s
wall time
agent actions: —
final pytest output
..... [100%] 5 passed in 0.00s