Files
vscode-workbench/PLANNING/evals/fixtures/selftest/workdir-good/tooltask/stats.py
T

32 lines
715 B
Python

"""统计工具 —— dim4 Q4.2 自检产物。"""
from __future__ import annotations
def mean(values: list[float]) -> float:
if not values:
return 0.0
return sum(values) / len(values)
def median(values: list[float]) -> float:
if not values:
return 0.0
s = sorted(values)
n = len(s)
mid = n // 2
if n % 2:
return s[mid]
return (s[mid - 1] + s[mid]) / 2
if __name__ == "__main__":
assert mean([]) == 0.0
assert mean([1, 2, 3]) == 2.0
print("M-OK")
assert median([]) == 0.0
assert median([1, 3]) == 2.0
assert median([1, 2, 3, 4]) == 2.5
print("MD-OK")
print("all stats self-tests passed")