我用 Codex 复刻了一个 Windows 11 计算器,过程比想象中真实多了
最近我用 Codex 做了一个仿 Windows 11 风格的桌面计算器。
一开始我以为这只是一个“加减乘除”的小项目,真正做下来才发现,难点并不只是计算逻辑,而是工程结构、程序员模式、键盘输入、模式切换和 UI 细节。
这次我没有一次性让 AI “随便写一个计算器”,而是先给了一个比较完整的需求提示词:
请使用 Python + Tkinter 开发一个仿 Windows 11 计算器的桌面应用。 要求: 使用虚拟环境 .venv,仅依赖 Python 标准库 Tkinter; 项目结构清晰,计算逻辑与 UI 分离; 入口文件为 main.py; 支持标准模式、科学模式、程序员模式; 标准模式支持加减乘除、百分号、平方根、清除、退格、连续运算; 科学模式支持 sin/cos/tan、log/ln、π、e、阶乘、xʸ、科学计数法; 程序员模式支持 BIN/OCT/DEC/HEX、AND/OR/XOR/NOT/Lsh/Rsh; 支持 QWORD/DWORD/WORD/BYTE,切换字长时使用位掩码; 根据当前进制动态启用或禁用按键; 顶部菜单栏切换模式,支持键盘输入; 界面风格尽量接近 Windows 11 计算器; 关键逻辑要有中文注释; 代码可直接运行:python main.py。AI 先给了两种实现方案:
推荐方案 使用 main.py 作为入口,拆成几个模块: calculator/engine.py:标准/科学计算逻辑 calculator/programmer.py:程序员模式逻辑,包含进制转换、位运算、字长掩码 calculator/ui.py:Tkinter 界面、菜单、动态按钮、键盘绑定 tests/:用标准库 unittest 测试核心计算逻辑 这样 UI 和计算逻辑分离,程序员模式的关键逻辑也能单独测试。虚拟环境 .venv 会创建,但不安装第三方依赖。 替代方案 也可以全部写在 main.py