本篇将通过 Python 和 Cangjie 双语解决简单的几何问题:计算圆的面积和矩形的面积。通过这道题,学生将掌握如何使用公式解决几何问题,并学会用编程实现数学公式。
关键词
- 小学奥数
- Python + Cangjie
- 几何计算
一、题目描述
编写一个程序,根据用户输入的半径和长宽,分别计算圆的面积和矩形的面积。
-
圆的面积公式:
π * r²
-
矩形的面积公式:
长 * 宽
-
输入格式:用户从控制台输入一个圆的半径和矩形的长、宽。
-
输出格式:输出圆的面积和矩形的面积,结果保留两位小数。
二、Python 实现
import math# 输入圆的半径和矩形的长、宽
radius = float(input("请输入圆的半径: "))
length = float(input("请输入矩形的长: "))
width = float(input("请输入矩形的宽: "))# 计算圆的面积和矩形的面积
circle_area = math.pi * radius ** 2
rectangle_area = length * width# 输出结果,保留两位小数
print(f"圆的面积: {circle_area:.2f}")
print(f"矩形的面积: {rectangle_area:.2f}")
三、Cangjie 实现
package cjcDemoimport std.convert.*
import std.console.*
import std.format.*func inputFloat(info: String): Float64 {print(info)let number: Float64 = Float64.parse(Console.stdIn.readln().getOrThrow())return number
}main(): Int64 {let radius = inputFloat("请输入圆的半径: ")let length = inputFloat("请输入矩形的长: ")let width = inputFloat("请输入矩形的宽: ")let pi = 3.1415let circle_area = pi * radius * radiuslet rectangle_area = length * widthprintln("圆的面积: ${circle_area.format("0.2")}")println("矩形的面积: ${rectangle_area.format("0.2")}")return 0
}
四、图形展示(扩展部分)
以下代码使用 Python 生成了一个图形,展示了圆和矩形的面积。
本部分是进阶扩展内容,当前阶段不要求理解:
from PIL import Image, ImageDraw# 创建画布
img = Image.new('RGB', (600, 400), color='white')
draw = ImageDraw.Draw(img)# 绘制圆形
circle_radius = 50
draw.ellipse([50, 50, 50 + 2 * circle_radius, 50 + 2 * circle_radius], outline='blue', width=2)
draw.text((60, 120), "Circle Area", fill="black")# 绘制矩形
draw.rectangle([300, 50, 450, 150], outline='red', width=2)
draw.text((310, 80), "Rectangle Area", fill="black")# 保存图像
img_path = "area_visualization.png"
img.save(img_path)
print(f"图形已保存为 {img_path}")
生成的图形如下:
五、示例执行
示例 1:
输入:
请输入圆的半径: 3
请输入矩形的长: 5
请输入矩形的宽: 4
输出:
圆的面积: 28.27
矩形的面积: 20.00
示例 2:
输入:
请输入圆的半径: 1.5
请输入矩形的长: 7
请输入矩形的宽: 2.5
输出:
圆的面积: 7.07
矩形的面积: 17.50
六、小结
通过这道几何计算题,学生学习了如何使用编程实现数学公式计算,并掌握了浮点数运算和格式化输出的技巧。
上一篇: 「Mac玩转仓颉内测版41」小学奥数篇4 - 分数加减法
下一篇: 「Mac玩转仓颉内测版43」小学奥数篇6 - 一元一次方程求解
作者:SoraLuna
链接:https://www.nutpi.net/thread?topicId=378
來源:坚果派
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。