网站首页 > 开源技术 正文
任务要求
1.数学公式:
- 周长公式:C = 2πr
- 面积公式:S = πr^2
2.输入规范:支持纯数字或带"cm"单位的输入(如5或10cm)
3.输出精度:结果保留两位小数并标注单位
任务实现
方法一:基础算法(直接运算)
import math
radius = float(input("输入半径: ").strip('cmCM'))
circumference = 2 * math.pi * radius
area = math.pi * radius ** 2
print(f"周长: {circumference:.2f}cm")
print(f"面积: {area:.2f}cm^2")
说明:
- 使用strip()去除单位字符,兼容带单位输入
- math.pi调用精确圆周率常数
- f-string格式控制保留两位小数
方法二:函数封装法(带异常处理)
import math
def calc_circle(radius):
try:
r = float(str(radius).strip('cmCM'))
return (2*math.pi*r, math.pi*r**2)
except ValueError:
return "输入无效"
user_input = input("输入半径: ")
c, a = calc_circle(user_input)
print(f"周长: {c:.2f}cm\n面积: {a:.2f}cm^2")
说明:
- 通过try-except捕获非法输入
- 函数返回元组实现计算逻辑封装
- 计算结果解包赋值
方法三:类封装法(面向对象)
import math
class Circle:
def __init__(self, radius):
self.radius = float(str(radius).strip('cmCM'))
@property
def circumference(self):
return 2 * math.pi * self.radius
@property
def area(self):
return math.pi * self.radius ** 2
# 使用示例
circle = Circle(input("输入半径: "))
print(f"周长: {circle.circumference:.2f}cm")
print(f"面积: {circle.area:.2f}cm^2")
说明:
- 类属性初始化时统一处理输入
- @property装饰器实现动态计算
- 支持后续扩展体积计算等三维特性
运行结果
从键盘上输入字符串“5CM”。
输入半径: 5CM
周长: 31.42cm
面积: 78.54cm^2
进程已结束,退出代码为 0
猜你喜欢
- 2025-06-24 小升初六年级数学系统总复习 平面图形的面积与周长(八)
- 2025-06-24 球体表面积公式推导(2种方法) - 微积分应用
- 2025-06-24 磁场区域最小面积的求解方法(磁场最小面积叶形)
- 2025-06-24 零基础构建几何思维:基础图形→平面世界→立体空间→解题技巧
- 2025-06-24 圆的内接四边形面积公式-婆罗摩笈多公式
- 2025-06-24 圆面积公式的推导 免费视频讲解(圆面积公式的推导过程动画)
- 2025-06-24 高一数学期末考试:弧长面积公式,三角形外接圆,三角函数...
- 2025-06-24 30天学会Python编程:6. Python函数编程
- 2025-06-24 C语言常量使用(c语言中的常量使用要求是什么)
- 2025-06-24 六年级下册圆的面积的解题技巧(六年级圆的面积公式例题)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)