我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Python学习4:计算几何形状的表面积与体积

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Python学习4:计算几何形状的表面积与体积

输入一个表示几何形状名称的字符串,再在一行内输入这种图形的数据,根据表示名称的字符串选择合适的公式计算几何形状的(表)面积和体积,若为二维图形,只计算面积,若为三维图形,计算其表面积与体积,结果严格保留2位小数。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬

模板程序给出了长方形和长方体的代码,参考这些代码,完成圆形、球、圆柱体、圆锥和正三棱柱这5种形状的计算程序。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬

(可将模板中的代码复制到本地,先注释掉需要补充代码的函数或在函数体中加pass语句后再运行,调试完成后再复制粘到代码框中)

示例 1‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬

输入:  长方形  4 8  输出:  长方形的面积为32.00  

示例 2‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬

输入:  长方体  4 8 9  输出:  长方体的表面积为280.00, 体积为288.00  

示例 3‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬

输入:  圆形  88  输出:  圆形的面积为24328.49  

示例 4‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬

输入:  球  88  输出:  球的表面积为97313.97, 体积为2854543.24  

示例5‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬

输入:  圆柱体  88 88  输出:  圆柱体的表面积为97313.97, 体积为2140907.43  

示例 6‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬

输入:圆锥88 88输出:圆锥的表面积为58734.18, 体积为713635.81

示例 7‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬

输入:  正三棱柱  88 88  输出:  正三棱柱的表面积为29938.50, 体积为295086.03  
import mathdef type_judge(geom_type):    """接收一个字符串为参数,根据参数判断几何体类型    若输入为二维图形,计算其面积    若输入为三维图形,计算其面积与体积    根据类型调用不同的函数进行运算。    """    if geom_type == '长方形':        length, width = map(float, input().split())  # 空格分隔的输入切分为列表并映射为浮点数        return square(length, width)                 # 调用函数计算长方形面积    elif geom_type == '长方体':        length, width, height = map(float, input().split())  # 空格分隔的输入切分为列表并映射为浮点数        return cube(length, width, height)                   # 调用函数计算长方体表面积与体积    elif geom_type == '圆形':        radius = float(input())  # 输入转为浮点数        return circle(radius)    # 调用函数计算圆面积    elif geom_type == '球':        radius = float(input())  # 输入转为浮点数        return sphere(radius)    # 调用函数计算球表面积与体积    elif geom_type == '圆柱体':        radius, height = map(float, input().split())  # 空格分隔的输入切分为列表并映射为浮点数        return cylinder(radius, height)  # 调用函数计算圆柱体表面积与体积    elif geom_type == '圆锥':        radius, height = map(float, input().split())  # 空格分隔的输入切分为列表并映射为浮点数        return cone(radius, height)  # 调用函数计算圆锥表面积与体积    elif geom_type == '正三棱柱':        side, height = map(float, input().split())        return tri_prism(side, height)    else:        return f'未找到{geom_type}计算方法'def square(length, width):    """计算长方形的面积"""    area_of_square = length * width    return f'长方形的面积为{area_of_square:.2f}'def cube(length, width, height):    """计算长方体的表面积和体积"""    area_of_cube = length * width * 2 + width * height * 2 + length * height * 2    volume_of_cube = length * width * height    return f'长方体的表面积为{area_of_cube:.2f}, 体积为{volume_of_cube:.2f}'def circle(radius):    """接收圆的半径,返回圆形的面积,圆周率用math.pi"""    area_of_circle = math.pi * math.pow(radius, 2)    return f'圆形的面积为{area_of_circle:.2f}'def sphere(radius):    """接收球的半径,返回球的表面积和体积,圆周率用math.pi"""    area_of_sphere = 4*math.pi*math.pow(radius, 2)    volume_of_sphere = math.pi*math.pow(radius, 3)*4/3    return f'球的表面积为{area_of_sphere:.2f}, 体积为{volume_of_sphere:.2f}'def cylinder(radius, height):    """接收圆柱体的底面半径和高,返回圆柱体的表面积和体积,圆周率用math.pi"""    area_of_cylinder = 2*math.pi*radius*(radius+height)    volume_of_cylinder = math.pi*radius*radius*height    return f'圆柱体的表面积为{area_of_cylinder:.2f}, 体积为{volume_of_cylinder:.2f}'def cone(radius, height):    """接收圆锥的底面半径和高,返回圆锥的表面积和体积,圆周率用math.pi"""    area_of_cone = math.pi*radius * \        (radius+math.sqrt(math.pow(radius, 2)+math.pow(height, 2)))    volume_of_cone = math.pi*math.pow(radius, 2)*height/3    return f'圆锥的表面积为{area_of_cone:.2f}, 体积为{volume_of_cone:.2f}'# 参考前面的方法自定义一个函数计算正三棱柱的表面积与体积,# 函数名为tri_prism()# 函数接受底边长和高两个参数side, heightdef tri_prism(side, height):    """接收正三棱柱的底边长和高,返回正三棱柱的表面积和体积"""    area_of_tri_prism = math.sqrt(3)*math.pow(side, 2)/2+3*side*height    volume_of_tri_prism = math.sqrt(3)*math.pow(side, 2)*height/4    return f'正三棱柱的表面积为{area_of_tri_prism:.2f}, 体积为{volume_of_tri_prism:.2f}'if __name__ == '__main__':    type_of_geometry = input()               # 接收用户输入的字符串    geometry = type_judge(type_of_geometry)  # 调用判断图形类型的函数    print(geometry)                          # 输出函数运行结果

这段代码是一个简单的几何体计算器。它通过接收用户输入的几何体类型,然后根据不同的类型调用不同的函数进行计算。

首先,定义了一个 type_judge() 函数,用于根据几何体类型选择相应的函数进行计算。其中,对于输入为二维图形的长方形和圆形,调用 square() 和 circle() 函数计算其面积;对于输入为三维图形的长方体、球、圆柱体、圆锥和正三棱柱,则调用 cube()、sphere()、cylinder()、cone() 和 tri_prism() 函数计算其表面积和体积。

接下来,定义了各个几何体的计算函数,包括:

  • square():计算长方形的面积
  • cube():计算长方体的表面积和体积
  • circle():计算圆形的面积
  • sphere():计算球的表面积和体积
  • cylinder():计算圆柱体的表面积和体积
  • cone():计算圆锥的表面积和体积
  • tri_prism():计算正三棱柱的表面积和体积

每个函数都接受一些参数,进行相应的计算后返回一个字符串,包含计算结果并且精确到小数点后两位。

最后,在主程序中,首先接收用户输入的几何体类型,然后调用 type_judge() 函数进行计算,并将计算结果打印出来

map() 是 Python 内置的一个高阶函数,用于将一个可迭代对象中的每个元素都应用到指定的函数上,并返回结果组成的迭代器。它的基本语法格式如下:

map(function, iterable, ...)

其中,function 是一个函数,iterable 是一个可迭代对象,可以传入多个可迭代对象,表示有多个参数需要传入 function。map() 函数会依次将 iterable 中的每个元素传入 function 中进行处理,返回一个由处理结果组成的迭代器。

例如,对于一个列表中的每个元素求平方,可以使用以下代码:

lst = [1, 2, 3, 4, 5]
result = map(lambda x: x ** 2, lst)
print(list(result)) # 输出 [1, 4, 9, 16, 25]

这里使用了 lambda 表达式来定义一个简单的平方函数,然后将 lst 列表中的每个元素都传入该函数中进行计算,并将结果组成一个迭代器,最后通过 list() 函数将其转换为列表并输出。

map() 函数可以方便地应用于很多场景,比如批量处理数据、映射函数等等。

A = map(float, input().split())

这段代码将用户通过输入获得的字符串按照空格进行切分,然后使用 map() 函数将每个切分后的字符串都转换为浮点数类型,并返回一个由浮点数组成的迭代器。最后,将这个迭代器赋值给变量 A。

具体来说,该代码的执行过程如下:

  1. input() 函数接收用户输入,并返回一个字符串类型的值。
  2. split() 方法将该字符串按照空格进行切分,并返回一个由切分后的字符串组成的列表。
  3. map() 函数将该列表中的每个元素都应用 float() 函数进行转换,并返回一个由转换后的浮点数组成的迭代器。
  4. 将这个迭代器赋值给变量 A。

来源地址:https://blog.csdn.net/weixin_60530224/article/details/130274736

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Python学习4:计算几何形状的表面积与体积

下载Word文档到电脑,方便收藏和打印~

下载Word文档

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录