同步操作将从 编程语言算法集/Python 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
"""Find the area of various geometric shapes"""from math import pi, sqrtdef surface_area_cube(side_length: float) -> float:"""Calculate the Surface Area of a Cube.>>> surface_area_cube(1)6>>> surface_area_cube(3)54>>> surface_area_cube(-1)Traceback (most recent call last):...ValueError: surface_area_cube() only accepts non-negative values"""if side_length < 0:raise ValueError("surface_area_cube() only accepts non-negative values")return 6 * side_length ** 2def surface_area_sphere(radius: float) -> float:"""Calculate the Surface Area of a Sphere.Wikipedia reference: https://en.wikipedia.org/wiki/SphereFormula: 4 * pi * r^2>>> surface_area_sphere(5)314.1592653589793>>> surface_area_sphere(1)12.566370614359172>>> surface_area_sphere(-1)Traceback (most recent call last):...ValueError: surface_area_sphere() only accepts non-negative values"""if radius < 0:raise ValueError("surface_area_sphere() only accepts non-negative values")return 4 * pi * radius ** 2def surface_area_hemisphere(radius: float) -> float:"""Calculate the Surface Area of a Hemisphere.Formula: 3 * pi * r^2>>> surface_area_hemisphere(5)235.61944901923448>>> surface_area_hemisphere(1)9.42477796076938>>> surface_area_hemisphere(0)0.0>>> surface_area_hemisphere(1.1)11.40398133253095>>> surface_area_hemisphere(-1)Traceback (most recent call last):...ValueError: surface_area_hemisphere() only accepts non-negative values"""if radius < 0:raise ValueError("surface_area_hemisphere() only accepts non-negative values")return 3 * pi * radius ** 2def surface_area_cone(radius: float, height: float) -> float:"""Calculate the Surface Area of a Cone.Wikipedia reference: https://en.wikipedia.org/wiki/ConeFormula: pi * r * (r + (h ** 2 + r ** 2) ** 0.5)>>> surface_area_cone(10, 24)1130.9733552923256>>> surface_area_cone(6, 8)301.59289474462014>>> surface_area_cone(-1, -2)Traceback (most recent call last):...ValueError: surface_area_cone() only accepts non-negative values>>> surface_area_cone(1, -2)Traceback (most recent call last):...ValueError: surface_area_cone() only accepts non-negative values>>> surface_area_cone(-1, 2)Traceback (most recent call last):...ValueError: surface_area_cone() only accepts non-negative values"""if radius < 0 or height < 0:raise ValueError("surface_area_cone() only accepts non-negative values")return pi * radius * (radius + (height ** 2 + radius ** 2) ** 0.5)def surface_area_cylinder(radius: float, height: float) -> float:"""Calculate the Surface Area of a Cylinder.Wikipedia reference: https://en.wikipedia.org/wiki/CylinderFormula: 2 * pi * r * (h + r)>>> surface_area_cylinder(7, 10)747.6990515543707>>> surface_area_cylinder(6, 8)527.7875658030853>>> surface_area_cylinder(-1, -2)Traceback (most recent call last):...ValueError: surface_area_cylinder() only accepts non-negative values>>> surface_area_cylinder(1, -2)Traceback (most recent call last):...ValueError: surface_area_cylinder() only accepts non-negative values>>> surface_area_cylinder(-1, 2)Traceback (most recent call last):...ValueError: surface_area_cylinder() only accepts non-negative values"""if radius < 0 or height < 0:raise ValueError("surface_area_cylinder() only accepts non-negative values")return 2 * pi * radius * (height + radius)def area_rectangle(length: float, width: float) -> float:"""Calculate the area of a rectangle.>>> area_rectangle(10, 20)200>>> area_rectangle(-1, -2)Traceback (most recent call last):...ValueError: area_rectangle() only accepts non-negative values>>> area_rectangle(1, -2)Traceback (most recent call last):...ValueError: area_rectangle() only accepts non-negative values>>> area_rectangle(-1, 2)Traceback (most recent call last):...ValueError: area_rectangle() only accepts non-negative values"""if length < 0 or width < 0:raise ValueError("area_rectangle() only accepts non-negative values")return length * widthdef area_square(side_length: float) -> float:"""Calculate the area of a square.>>> area_square(10)100>>> area_square(-1)Traceback (most recent call last):...ValueError: area_square() only accepts non-negative values"""if side_length < 0:raise ValueError("area_square() only accepts non-negative values")return side_length ** 2def area_triangle(base: float, height: float) -> float:"""Calculate the area of a triangle given the base and height.>>> area_triangle(10, 10)50.0>>> area_triangle(-1, -2)Traceback (most recent call last):...ValueError: area_triangle() only accepts non-negative values>>> area_triangle(1, -2)Traceback (most recent call last):...ValueError: area_triangle() only accepts non-negative values>>> area_triangle(-1, 2)Traceback (most recent call last):...ValueError: area_triangle() only accepts non-negative values"""if base < 0 or height < 0:raise ValueError("area_triangle() only accepts non-negative values")return (base * height) / 2def area_triangle_three_sides(side1: float, side2: float, side3: float) -> float:"""Calculate area of triangle when the length of 3 sides are known.This function uses Heron's formula: https://en.wikipedia.org/wiki/Heron%27s_formula>>> area_triangle_three_sides(5, 12, 13)30.0>>> area_triangle_three_sides(10, 11, 12)51.521233486786784>>> area_triangle_three_sides(-1, -2, -1)Traceback (most recent call last):...ValueError: area_triangle_three_sides() only accepts non-negative values>>> area_triangle_three_sides(1, -2, 1)Traceback (most recent call last):...ValueError: area_triangle_three_sides() only accepts non-negative values>>> area_triangle_three_sides(2, 4, 7)Traceback (most recent call last):...ValueError: Given three sides do not form a triangle>>> area_triangle_three_sides(2, 7, 4)Traceback (most recent call last):...ValueError: Given three sides do not form a triangle>>> area_triangle_three_sides(7, 2, 4)Traceback (most recent call last):...ValueError: Given three sides do not form a triangle"""if side1 < 0 or side2 < 0 or side3 < 0:raise ValueError("area_triangle_three_sides() only accepts non-negative values")elif side1 + side2 < side3 or side1 + side3 < side2 or side2 + side3 < side1:raise ValueError("Given three sides do not form a triangle")semi_perimeter = (side1 + side2 + side3) / 2area = sqrt(semi_perimeter* (semi_perimeter - side1)* (semi_perimeter - side2)* (semi_perimeter - side3))return areadef area_parallelogram(base: float, height: float) -> float:"""Calculate the area of a parallelogram.>>> area_parallelogram(10, 20)200>>> area_parallelogram(-1, -2)Traceback (most recent call last):...ValueError: area_parallelogram() only accepts non-negative values>>> area_parallelogram(1, -2)Traceback (most recent call last):...ValueError: area_parallelogram() only accepts non-negative values>>> area_parallelogram(-1, 2)Traceback (most recent call last):...ValueError: area_parallelogram() only accepts non-negative values"""if base < 0 or height < 0:raise ValueError("area_parallelogram() only accepts non-negative values")return base * heightdef area_trapezium(base1: float, base2: float, height: float) -> float:"""Calculate the area of a trapezium.>>> area_trapezium(10, 20, 30)450.0>>> area_trapezium(-1, -2, -3)Traceback (most recent call last):...ValueError: area_trapezium() only accepts non-negative values>>> area_trapezium(-1, 2, 3)Traceback (most recent call last):...ValueError: area_trapezium() only accepts non-negative values>>> area_trapezium(1, -2, 3)Traceback (most recent call last):...ValueError: area_trapezium() only accepts non-negative values>>> area_trapezium(1, 2, -3)Traceback (most recent call last):...ValueError: area_trapezium() only accepts non-negative values>>> area_trapezium(-1, -2, 3)Traceback (most recent call last):...ValueError: area_trapezium() only accepts non-negative values>>> area_trapezium(1, -2, -3)Traceback (most recent call last):...ValueError: area_trapezium() only accepts non-negative values>>> area_trapezium(-1, 2, -3)Traceback (most recent call last):...ValueError: area_trapezium() only accepts non-negative values"""if base1 < 0 or base2 < 0 or height < 0:raise ValueError("area_trapezium() only accepts non-negative values")return 1 / 2 * (base1 + base2) * heightdef area_circle(radius: float) -> float:"""Calculate the area of a circle.>>> area_circle(20)1256.6370614359173>>> area_circle(-1)Traceback (most recent call last):...ValueError: area_circle() only accepts non-negative values"""if radius < 0:raise ValueError("area_circle() only accepts non-negative values")return pi * radius ** 2def area_ellipse(radius_x: float, radius_y: float) -> float:"""Calculate the area of a ellipse.>>> area_ellipse(10, 10)314.1592653589793>>> area_ellipse(10, 20)628.3185307179587>>> area_ellipse(-10, 20)Traceback (most recent call last):...ValueError: area_ellipse() only accepts non-negative values>>> area_ellipse(10, -20)Traceback (most recent call last):...ValueError: area_ellipse() only accepts non-negative values>>> area_ellipse(-10, -20)Traceback (most recent call last):...ValueError: area_ellipse() only accepts non-negative values"""if radius_x < 0 or radius_y < 0:raise ValueError("area_ellipse() only accepts non-negative values")return pi * radius_x * radius_ydef area_rhombus(diagonal_1: float, diagonal_2: float) -> float:"""Calculate the area of a rhombus.>>> area_rhombus(10, 20)100.0>>> area_rhombus(-1, -2)Traceback (most recent call last):...ValueError: area_rhombus() only accepts non-negative values>>> area_rhombus(1, -2)Traceback (most recent call last):...ValueError: area_rhombus() only accepts non-negative values>>> area_rhombus(-1, 2)Traceback (most recent call last):...ValueError: area_rhombus() only accepts non-negative values"""if diagonal_1 < 0 or diagonal_2 < 0:raise ValueError("area_rhombus() only accepts non-negative values")return 1 / 2 * diagonal_1 * diagonal_2if __name__ == "__main__":import doctestdoctest.testmod(verbose=True) # verbose so we can see methods missing testsprint("[DEMO] Areas of various geometric shapes: \n")print(f"Rectangle: {area_rectangle(10, 20) = }")print(f"Square: {area_square(10) = }")print(f"Triangle: {area_triangle(10, 10) = }")print(f"Triangle: {area_triangle_three_sides(5, 12, 13) = }")print(f"Parallelogram: {area_parallelogram(10, 20) = }")print(f"Rhombus: {area_rhombus(10, 20) = }")print(f"Trapezium: {area_trapezium(10, 20, 30) = }")print(f"Circle: {area_circle(20) = }")print("\nSurface Areas of various geometric shapes: \n")print(f"Cube: {surface_area_cube(20) = }")print(f"Sphere: {surface_area_sphere(20) = }")print(f"Hemisphere: {surface_area_hemisphere(20) = }")print(f"Cone: {surface_area_cone(10, 20) = }")print(f"Cylinder: {surface_area_cylinder(10, 20) = }")
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。