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
write_fileturn 1 · palindrome.py · 159 B
run_teststurn 2 ·
✓ tests green5 passed
doneturn 3 ·
✓ done — gate green
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
3
cyclomatic
1
max nesting
3.0
avg fn lines
stdlib imports: none
| File | LOC | SLOC | Fns | Complexity | Depth | Imports |
|---|---|---|---|---|---|---|
| palindrome.py | 3 | 3 | 1 | 3 | 1 | — |
palindrome.py · 3 lines · 159 B
def is_palindrome(text: str) -> bool: cleaned_text = ''.join(char for char in text if char.isalnum()).lower() return cleaned_text == cleaned_text[::-1]
04 how it was graded
3
model calls
0
invalid actions
1
self test runs
77
tokens out
—
tokens in
4.8s
wall time
agent actions: write_file×1, run_tests×1, done×1
final pytest output
..... [100%] 5 passed in 0.00s