📜  圆的小数部分:工作表(1)

📅  最后修改于: 2023-12-03 15:23:05.811000             🧑  作者: Mango

圆的小数部分:工作表

当我们进行浮点运算的时候,通常会出现小数部分。本程序主题为圆的小数部分,可以用一个Excel工作表来存储圆的半径,计算和存储圆的周长、面积和小数部分。

功能介绍

本程序主要有以下三个功能:

  1. 计算并存储圆的周长、面积
  2. 提供小数部分筛选功能,将小数部分小于某个值的圆的信息筛选出来并存储
  3. 可以通过Excel查看所有符合第2步筛选规则的圆的信息
程序实现

程序主要分为以下几个部分:

圆的类定义
class Circle:
    radius = 0
    circumference = 0
    area = 0

    def __init__(self, radius):
        self.radius = radius
        self.circumference = 2 * math.pi * radius
        self.area = math.pi * radius * radius
工作表类定义
class CircleWorkbook:
    def __init__(self, sheet_name):
        self.wb = openpyxl.Workbook()
        self.ws = self.wb.active
        self.ws.title = sheet_name
        self.ws.cell(row=1, column=1, value="Radius")
        self.ws.cell(row=1, column=2, value="Circumference")
        self.ws.cell(row=1, column=3, value="Area")

    def add_circle(self, circle):
        self.ws.append([circle.radius, circle.circumference, circle.area])

    def filter_by_decimal(self, decimal):
        filtered_list = []
        for row in self.ws.iter_rows(min_row=2):
            if row[1].value - int(row[1].value) < decimal:
                filtered_list.append(row)
        return filtered_list

    def save(self, file_name):
        self.wb.save(file_name)
实例化工作表并使用
wb = CircleWorkbook('Circles')
for radius in range(1, 11):
    circle = Circle(radius)
    wb.add_circle(circle)
filtered_list = wb.filter_by_decimal(0.5)
wb.save('circles.xlsx')

以上代码实例化了一个工作表CircleWorkbook,并对半径在1到10范围内的圆进行了计算和存储。筛选出小数部分小于0.5的圆,保存成Excel表格circles.xlsx

结语

本程序给程序员提供了圆的面积、周长以及小数部分的计算能力,方便程序员进行数据处理及筛选。同时本程序也展示了Python工具中处理Excel数据的能力,帮助程序员更好地掌握Python工具的使用。