# Reference answer. Attempt the exercise first.
import math

def mean_minutes(values):
    if not values:
        raise ValueError("at least one value is required")
    return sum(values) / len(values)

def count_active(values):
    count = 0  # Keep the accumulator outside the loop.
    for value in values:
        if value > 0:
            count += 1
    return count

for values, expected in [([10, 0, 20], 2), ([], 0), ([0], 0), ([7], 1)]:
    assert count_active(values) == expected
for values, expected in [([10,20,30],20), ([7],7), ([0,0],0)]:
    assert math.isclose(mean_minutes(values), expected)
try:
    mean_minutes([])
except ValueError:
    pass
else:
    raise AssertionError("Expected ValueError")
assert math.isclose(0.1 + 0.2, 0.3, rel_tol=1e-9, abs_tol=1e-12)
assert not math.isclose(0.31, 0.3, rel_tol=1e-9, abs_tol=1e-12)
print("Module 6 checks passed")
