📚 普通人AI编程学习课程

30节系统课程,从零开始掌握AI编程助手

第 9 课 / 共 30 课

第9课: 项目实战 - 简单计算器

📖 约2500字 | ⏱️ 预计40分钟 | 🎯 入门级

🎯 课程目标

完成本课程后,你将能够:

  • 使用 AI 创建带交互功能的网页应用
  • 理解事件处理和函数调用
  • 掌握基本的数学运算逻辑
  • 完成一个功能完整的计算器

🧮 计算器需求

功能要求:

  • 显示区域:显示输入和计算结果
  • 数字按钮:0-9
  • 运算符:+ - × ÷
  • 功能键:=(计算)、C(清除)、←(退格)
  • 小数点支持

💬 向 AI 描述需求

"请帮我创建一个网页计算器,要求:

## 功能需求
1. 显示区域:显示当前输入和计算结果
2. 数字按钮:0-9 共10个按钮
3. 运算符:+ - × ÷
4. 等号:执行计算
5. 清除键:清空所有输入
6. 小数点:支持小数运算

## 设计要求
- 简洁的设计风格
- 按钮布局合理,方便点击
- 响应式设计
- 带有悬停和点击效果"

💻 核心代码示例

HTML 结构

<div class="calculator">
<input type="text" id="display" readonly>
<div class="buttons">
<button class="btn clear">C</button>
<button class="btn operator">÷</button>
<button class="btn number">7</button>
<!-- 更多按钮 -->
</div>
</div>

JavaScript 逻辑

let currentInput = '';
let previousInput = '';
let operator = null;

function appendNumber(number) {
currentInput += number;
updateDisplay();
}

function chooseOperator(op) {
if (currentInput === '') return;
previousInput = currentInput;
operator = op;
currentInput = '';
}

function compute() {
let result;
const prev = parseFloat(previousInput);
const current = parseFloat(currentInput);
if (isNaN(prev) || isNaN(current)) return;
switch (operator) {
case '+': result = prev + current; break;
case '-': result = prev - current; break;
case '×': result = prev * current; break;
case '÷': result = prev / current; break;
}
currentInput = result;
operator = null;
updateDisplay();
}

🎯 课后练习

完成以下挑战:

  1. 使用 AI 创建计算器并成功运行
  2. 测试各种运算是否正确
  3. (进阶)添加百分比运算 (%)
  4. (进阶)添加键盘支持
  5. 调整样式直到满意