当前位置:首页>python>跟着菜菜学python--第四题

跟着菜菜学python--第四题

  • 2026-10-11 05:50:37
跟着菜菜学python--第四题

判断矩形形状并输出面积

输入一个矩形的长和宽,均为整数。判断这个矩形是正方形

还是长方形。如果长和宽相等,那么它是正方形;如果长和宽不

相等,那么它是长方形。然后输出这个矩形的面积以及它是正方

形还是长方形的描述。

示例输入:5 5

示例输出:这是一个正方形,面积是 25。

【一、教学目标】

- 掌握 `input()` 输入与 `split()` 分割用法

- 掌握 `map()` 类型转换

- 理解条件判断 `if-else` 结构

- 掌握 `f-string` 格式化输出

- 培养逻辑思维与编程基础能力

【 二、重难点提示】

| 类型 | 内容 |

|------|------|

| **重点** | 1. 一行读取两个整数的方法<br>2. `if-else` 条件判断实现分支逻辑<br>3. 面积计算与格式化输出 |

| **难点** | 1. `split()` 与 `map()` 的配合理解<br>2. 条件判断的等号 `==` 与赋值 `=` 的区别<br>3. 输出语句中的变量嵌入方式 |

【三、重点知识解析】

 1. 输入处理

length, width = map(int, input().split())

- `input()`:获取用户输入的一行字符串,如 `"5 5"`

- `.split()`:按空格拆分成列表,如 `["5", "5"]`

- `map(int, ...)`:将列表中的每个元素转换为整数

- 解包赋值:将转换后的两个整数分别赋给 `length` 和 `width`

> ⚠️ 注意:输入必须用**空格**分隔,且恰好输入两个数,否则会报错。

 2. 条件判断

if length == width:    shape = "正方形"else:    shape = "长方形"

- `==` 是比较运算符,判断是否相等

- `=` 是赋值运算符,容易混淆,要特别强调

- `if-else` 形成二分支结构,只执行其中一个分支

 3. 面积计算

area = length * width

- 整数乘法,直接得到面积值

4. 输出格式化(f-string)

print(f"这是一个{shape},面积是{area}。")

- `f"..."` 表示格式化字符串

- `{变量名}` 会被替换为变量的值

- 输出内容与题目要求的标点符号保持一致

【四、完整程序解析】

# 1. 输入:一行读取两个整数length, width = map(int, input().split())
#2. 计算面积area = length * width
# 3. 判断形状if length == width:    shape = "正方形"else:    shape = "长方形"# 4. 输出结果print(f"这是一个{shape},面积是{area}。")

程序执行流程图

开始

  ↓

输入长和宽

  ↓

计算面积

  ↓

长 == 宽 ?

  ├─是→ shape = "正方形"

  └─否→ shape = "长方形"

  ↓

输出结果

  ↓

结束

【 五、常见错误与避坑指南】

| 错误写法 | 问题 | 正确写法 |

|---------|------|---------|

| `length, width = input().split()` | 得到的是字符串,不能做乘法 | 加 `map(int, ...)` |

| `if length = width:` | 赋值号 `=` 误用 | 改为 `==` |

| `print("面积是" + area)` | 字符串与整数不能直接拼接 | 用 `f-string` 或 `str(area)` |

| 输入 `5,5` | 逗号分隔不被 `split()` 识别 | 使用空格 `5 5` |

【六、拓展演练】

🔹 练习1:输入合法性检查

在输入后判断长和宽是否都大于 0,如果不是,输出 `"长和宽必须为正整数!"` 并结束程序。

🔹 练习2:输出周长

除了面积,再输出该矩形的周长。  

公式:周长 = 2 × (长 + 宽)  

输出示例:`这是一个正方形,面积是25,周长是20。`

🔹 练习3:多次判断(循环)

让程序可以连续判断多个矩形,直到用户输入 `0 0` 时退出。

 🔹 练习4:判断是否为正方形并给出对角线长度

如果是正方形,输出其对角线长度(保留两位小数)。  

公式:对角线 = 边长 × √2

【 七、小结】

- 掌握了一行读取多个输入的标准写法

- 理解了 `if-else` 实现简单分支

- 学会了用 `f-string` 输出动态内容

- 能够根据需求扩展程序功能

最新文章

随机文章