For result reporting: tabular output, aligned columns, statistics summaries, human-readable reports.
Format data as aligned columns with headers and separators.
def print_table(headers, rows, widths=None):
"""Print formatted table."""
if widths is None:
widths = [max(len(str(row[i])) for row in [headers] + rows)
for i in range(len(headers))]
# Header
print(' | '.join(h.ljust(w) for h, w in zip(headers, widths)))
print('-+-'.join('-' * w for w in widths))
# Rows
for row in rows:
print(' | '.join(str(v).ljust(w) for v, w in zip(row, widths)))
# SET.py - game statistics
def show(tallies, label):
"""Print out the counts."""
print()
print('Size | Sets | NoSets | Set:NoSet ratio for', label)
print('-----+--------+--------+----------------')
for size in sorted(tallies):
y, n = tallies[size][True], tallies[size][False]
ratio = ('inft' if n == 0 else int(round(float(y) / n)))
print('{:4d} |{:7,d} |{:7,d} | {:4}:1'
.format(size, y, n, ratio))
# Output:
# Size | Sets | NoSets | Set:NoSet ratio for random
# -----+--------+--------+----------------
# 3 | 100 | 0 | inft:1
# 4 | 200 | 50 | 4:1
# 5 | 400 | 100 | 4:1
# sudoku.py - solve statistics
def solve_all(grids, name=''):
"""Report solution statistics."""
times, results = zip(*[time_solve(grid) for grid in grids])
N = len(results)
if N > 1:
print("Solved %d of %d %s puzzles "
"(avg %.2f secs (%d Hz), max %.2f secs)." % (
sum(results), N, name,
sum(times)/N, N/sum(times), max(times)))
# Output:
# Solved 50 of 50 easy puzzles (avg 0.01 secs (100 Hz), max 0.03 secs).
# spell.py - accuracy reporting
print('{:.0%} of {} correct ({:.0%} unknown) at {:.0f} words per second'
.format(good/n, n, unknown/n, n/dt))
# Output:
# 74% of 270 correct (6% unknown) at 41 words per second
npx skills add jimmc414/format-statistics-table下载完整 Skill 目录,包含 SKILL.md 及所有相关文件
Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer