Add console interface: calculator loop, ASCII title and tests

MIL-003 Console interface.

- Add calculator() with recursive restart: y continues with the result,
  n starts a new calculation, q quits
- Show one ASCII title at start: a calculator with the lettering to
  its right
- Re-prompt on invalid numbers, operations and answers; restart on
  division by zero
- Add __main__.py for python -m calc and the calc console script
- Add interface tests with input() fed through monkeypatch

Closes #22
Closes #23
Closes #24
Closes #25

Task: MIL-003#1
Task: MIL-003#2
Task: MIL-003#3
Task: MIL-003#4
This commit is contained in:
2026-10-04 20:59:53 +08:00
parent 9030510773
commit 6d99810e30
5 changed files with 209 additions and 15 deletions
+3
View File
@@ -14,6 +14,9 @@ dependencies = []
[project.optional-dependencies]
dev = ["pytest>=8"]
[project.scripts]
calc = "calc.calculator:main"
[tool.setuptools.packages.find]
where = ["src"]