Spaces:
Sleeping
Sleeping
File size: 1,355 Bytes
17cb583 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 | MEDIUM_TASK = {
"task_id": "medium",
"difficulty": "medium",
"description": "Fix a stats calculator — mean divides wrong, variance uses wrong formula, std_dev calls wrong function.",
"total_tests": 5,
"functions": ["mean", "variance", "std_dev"],
"buggy_code": """\
def mean(nums):
if not nums:
return 0
return sum(nums) // len(nums)
def variance(nums):
if not nums:
return 0
m = mean(nums)
return sum((x + m) ** 2 for x in nums) / len(nums)
def std_dev(nums):
return variance(nums) ** 2
""",
"solution_code": """\
def mean(nums):
if not nums:
return 0
return sum(nums) / len(nums)
def variance(nums):
if not nums:
return 0
m = mean(nums)
return sum((x - m) ** 2 for x in nums) / len(nums)
def std_dev(nums):
return variance(nums) ** 0.5
""",
"test_code": """\
import sys
import os
sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
from solution import mean, variance, std_dev
def test_mean_basic():
assert mean([1, 2, 3, 4, 5]) == 3.0
def test_mean_floats():
assert mean([1, 2]) == 1.5
def test_variance_basic():
assert variance([2, 4, 4, 4, 5, 5, 7, 9]) == 4.0
def test_std_dev_basic():
assert std_dev([2, 4, 4, 4, 5, 5, 7, 9]) == 2.0
def test_std_dev_single():
assert std_dev([5]) == 0.0
"""
} |