Skip to main content

Practice · 1 of 3

Acceptance: add_expense

CHALLENGE
Difficulty: beginner+25 XP

Contract: add_expense(expenses, amount, category, note="") returns a NEW list with {"amount": float, "category": lowercase str, "note": str} appended. amount must be a number > 0 and category non-empty, else raise ValueError. Input list must never be mutated.

Back to lesson: Practice: Capstone: Core Contract