Text statistics module
← run 2 · raw JSON · challenge definitions
—
score
tests (60%)—
deliverables (20%)—
content checks (20%)—
qwen3-30b-a3b: timed out
01 what the model was asked
Create textstats.py, a small text-statistics module with exactly these three functions: 1. word_count(text: str) -> int Words are maximal runs of ASCII letters, digits, and apostrophes (regex [A-Za-z0-9']+). Return how many words text contains. Empty or word-free text returns 0. 2. top_words(text: str, n: int) -> list[tuple[str, int]] Count words case-insensitively (lowercase them). Return the n most frequent (word, count) pairs, most frequent first; break count ties alphabetically by word. 3. reading_time(text: str) -> int Estimated minutes to read at 200 words per minute, rounded up, with a minimum of 1 (even for empty text). Use only the Python standard library.
required deliverables + checks
✗deliverable: textstats.py
✗textstats.py must contain “def word_count”
✗textstats.py must contain “def top_words”
✗textstats.py must contain “def reading_time”
pytest suite it was graded against
test_textstats.py · 38 lines · 873 B
from textstats import word_count, top_words, reading_time def test_word_count_basic(): assert word_count("the cat sat on the mat") == 6 def test_word_count_empty(): assert word_count("") == 0 def test_word_count_punctuation(): assert word_count("Hi, there! Hi.") == 3 def test_word_count_apostrophes(): assert word_count("don't stop") == 2 def test_top_words_orders_by_count(): assert top_words("a b a c a b", 2) == [("a", 3), ("b", 2)] def test_top_words_ties_alphabetical(): assert top_words("beta alpha", 2) == [("alpha", 1), ("beta", 1)] def test_top_words_case_insensitive(): assert top_words("The the THE", 1) == [("the", 3)] def test_reading_time_rounds_up(): assert reading_time(" ".join(["w"] * 401)) == 3 def test_reading_time_minimum_one(): assert reading_time("hello") == 1 assert reading_time("") == 1
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: textstats.py
SPEC:
Create textstats.py, a small text-statistics module with exactly these three functions:
1. word_count(text: str) -> int
Words are maximal runs of ASCII letters, digits, and apostrophes (regex [A-Za-z0-9']+). Return how many words text contains. Empty or word-free text returns 0.
2. top_words(text: str, n: int) -> list[tuple[str, int]]
Count words case-insensitively (lowercase them). Return the n most frequent (word, count) pairs, most frequent first; break count ties alphabetically by word.
3. reading_time(text: str) -> int
Estimated minutes to read at 200 words per minute, rounded up, with a minimum of 1 (even for empty text).
Use only the Python standard library.
! errorqwen3-30b-a3b: timed out
03 what it wrote
The model produced no files.
04 how it was graded
0
model calls
0
invalid actions
0
self test runs
—
tokens out
—
tokens in
906.0s
wall time
agent actions: —