python 计算圆台的体积和表面积

该代码实现了一个计算圆台体积和表面积的Python类`YuanTai`。用户输入下底半径、上底半径和高度,程序将输出相应结果。通过`get_volume`和`get_surface_area`方法,根据几何公式计算并返回圆台的体积和表面积。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import math

PI = math.pi

class YuanTai:
    def __init__(self, r1, r2, h):
        self.radius1 = r1
        self.radius2 = r2
        self.height = h

    def get_volume(self):
        return PI * self.height * (self.radius1 ** 2 + self.radius2 ** 2 + self.radius1 * self.radius2) / 3

    def get_surface_area(self):
        l = ((self.radius1 - self.radius2) ** 2 + self.height ** 2) ** 0.5
        return PI * (self.radius1 ** 2 + self.radius2 ** 2 + self.radius1 * l + self.radius2 * l)


if __name__ == '__main__':
    print('***计算圆台的体积和表面积***')
    r1 = float(input('请输入下底半径:'))
    r2 = float(input('请输入上底半径:'))
    h = float(input('请输入高度:'))
    yt = YuanTai(r1, r2, h)
    print(f'当r1 = {yt.radius1}, r2 = {yt.radius2}, h = {yt.height}时:')
    print(f'体积V = {yt.get_volume():.2f}')
    print(f'表面积S = {yt.get_surface_area():.2f}')

在C语言中,计算圆台(也称为椎体)的表面积体积需要对数学公式有基本的理解。圆台是由两个同轴同心圆所围成的部分,其上底面半径为 \( r_1 \),下底面半径为 \( r_2 \),高为 \( h \)。 **表面积计算**: - 圆台的侧面积由两部分组成:上底下底的圆周长乘以高度,再加上两个底面的面积。 - 侧面积 \( A_{side} = (2\pi r_1 + 2\pi r_2)h \) - 底面积分别是 \( A_{top} = \pi r_1^2 \) \( A_{bottom} = \pi r_2^2 \) - 总表面积 \( A_{total} = A_{side} + A_{top} + A_{bottom} \) **体积计算**: - 圆台体积由底面积乘以高再减去较小底面积对应的体积(即一个圆柱体的体积)。 - 体积 \( V = \frac{1}{3}\pi h (r_1^2 + r_1r_2 + r_2^2) \) 在C程序中,你需要定义变量存储半径高度,然后应用上述公式。记得在实际编写代码时,要考虑数据类型的合适选择以及可能的浮点数精度问题。 ```c #include <stdio.h> #include <math.h> double calculate_total_area(double r1, double r2, double h) { double side_area = (2 * M_PI * (r1 + r2)) * h; double base_area = M_PI * (r1 * r1 + r2 * r2); return side_area + base_area; } double calculate_volume(double r1, double r2, double h) { return (1.0 / 3) * M_PI * h * (r1 * r1 + r1 * r2 + r2 * r2); } int main() { double r1, r2, h; printf("请输入上底半径、下底半径高度:"); scanf("%lf %lf %lf", &r1, &r2, &h); double area = calculate_total_area(r1, r2, h); double volume = calculate_volume(r1, r2, h); printf("圆台的总表面积为: %.2f\n", area); printf("圆台体积为: %.2f\n", volume); return 0; } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值