Python实现圆形面积与周长计算

Python实现圆形面积与周长计算

编程文章jaq1232025-05-24 12:44:402A+A-

任务要求

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

点击这里复制本文地址 以上内容由jaq123整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!

苍茫编程网 © All Rights Reserved.  蜀ICP备2024111239号-21