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

这篇具有很好参考价值的文章主要介绍了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 math


def 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, height

def 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)                          # 输出函数运行结果

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

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

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

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

首先,定义了一个 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。

具体来说,该代码的执行过程如下:文章来源地址https://www.toymoban.com/news/detail-479592.html

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

到了这里,关于Python学习4:计算几何形状的表面积与体积的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【C语言】求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积

    求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积 设圆半径r,圆柱高h,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。编写程序用scanf输入数据,输出计算结果;输出时要求有文字说明,取小数点后2位数字。 这段代码实现了以下功能: 引入头文件 stdio.h,其中

    2024年02月09日
    浏览(30)
  • 再说不会用python计算地球表面多边形面积,可不能了!(记录五种可行方法)

    由于地理投影导致导致每个像元实际地面面积不同,越靠近北极实际面积越小,越靠近赤道实际面积越大, 如果不进行面积加权就简单平均,会导致温度较实际温度偏低。 直接使用卫星地图的计算面积功能就会遇到这样的问题,多数卫星地图的计算面积功能是将地图假设为

    2024年02月01日
    浏览(41)
  • 关于cesium根据地形画区域面积并覆盖在3d表面上

    最近一直在研究在3d地图上添加区域还有车辆路径路线,很是秃然啊!在不断的百度百度再百度,终于有了一套解决办法,先演示一下操作过程, drawLine()方法  drawPlane()方法 下面就来堆代码吧。 前提是开启了地形检测viewer.scene.globe.depthTestAgainstTerrain = true;一般开启会占用一定

    2024年02月11日
    浏览(36)
  • Revit SDK 介绍:MeasurePanelArea 统计分割表面中族的面积

    这个例子介绍如果从分割表面中,获取内部Tile(或者Panel)的族里面的几何实体的面的面积。 本例子的逻辑相对来说比较简单,主要是对 DividedSurface 和 Element 的API接口要熟悉。 设置单个面板Panel的面积上限和下限 获取所有分割表面 如果用户已经选择了分割表面,就使用当前

    2024年02月09日
    浏览(31)
  • 【蓝桥备赛】矩形总面积——计算几何

    矩形总面积 根据题意,两个矩形如果存在重叠部分,只会是这三种其一。不过再仔细观察这些边的关系,容易得到以下计算重叠区域大小的方法。 那么,这道题的解法就是,计算两个矩形的面积再减去重复部分(如果有重复部分的话) 看完下方的代码,可能有人奇怪为什么

    2024年01月24日
    浏览(46)
  • 文献学习-37-动态场景中任意形状针的单目 3D 位姿估计:一种高效的视觉学习和几何建模方法

    Authors: Bin Li,† , Student Member, IEEE, Bo Lu,† , Member, IEEE, Hongbin Lin, Yaxiang Wang, Fangxun Zhong, Member, IEEE, Qi Dou, Member, IEEE and Yun-Hui Liu, Fellow, IEEE Source: IEEE TRANSACTIONS ON MEDICAL ROBOTICS AND BIONICS Keywords: Surgical Robotics, Pose Estimation, Geometry Modeling, Vision-based Manipulation Abstract: 导向图像的针具姿

    2024年04月17日
    浏览(40)
  • Python学习9:对指定r计算圆的面积(python123)

    平台·:python123 编写函数getCircleArea(r),对给定的参数r计算圆的面积,并返回 首先读入n(n=0),然后依次读入n个半径r1,r2,...,rn,以这些半径为参数依次调用getCircleArea函数,得到对应圆的面积并输出。 要求:将虚线下的代码复制到答题区域、补充完善后再提交。 第一行输入n(

    2024年02月01日
    浏览(75)
  • JavaScript实现输入圆的半径,输出周长、体积和面积的代码

    以下为输入圆的半径,输出周长、体积和面积实现结果的代码和运行截图 目录 前言 一、请输入圆的半径,输出周长、体积和面积 1.1运行流程及思想 1.2代码段 1.3 JavaScript语句代码 1.4运行截图 1.若有选择,您可以在目录里进行快速查找; 2.本博文代码可以根据题目要求实现相关

    2024年02月07日
    浏览(39)
  • AM@微元法和定积分的应用@平面图形面积@立体体积@曲线弧长

    考虑夹在垂直于 x x x 轴的两个(立体空间)平面 x = a x=a x = a 和 x = b x=b x = b , ( a b ) (ab) ( a b ) 之间的立体 V V V 的体积(其体积也不妨记为 V V V ) 假定 [ a , b ] [a,b] [ a , b ] 内任何一点处作垂直于 x x x 轴的平面截立体V的面积为 A ( x ) A(x) A ( x ) ,且 A ( x ) A(x) A ( x ) 是一个连续函数(为

    2024年02月06日
    浏览(36)
  • 考研数二第十八讲 定积分的实际应用之求解旋转体积切面面积

    1.求一段曲线与x 轴和任一直线、曲线围成的图形和极坐标下曲线围成的图形面积(求一块平面区域的面积) (1) x-型区域、 y-型区域介绍 极坐标: 设在平面直角坐标系上有一段曲线 y=f(x)0, a ≤ x ≤ b a leq x leq b a ≤ x ≤ b .我们在区间[a,b] 上取一个微元区间[x,x+dx] ,则此微段所对

    2024年02月16日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包