Pythonの同じプログラムで球と円柱の面積と体積を見つける方法

Python Beginner0912

タスクは、形状の面積と体積を見つけることです。コードを設計するときは、球と円柱の形状を考慮してください。クラスにはコンストラクターが1つだけ必要です。また、Shapeというクラスを作成する必要があります。以下は私が作成して出力を返すコードですが、シェイプに新しいクラスを使用してテストなどに継承する方法です。

import math
#class Shapes
class Test:
    def __init__(self, *args):
        self.radius = args[0]
        if (len(args) == 2):
            self.height = args[1]
        self.area = 0
        self.volume = 0
        return super().__init__()

    def Area(self,val):
        radius = self.radius
        if (val == "Sphere"):
            area = 4 * 3.14  * radius ** 2
        elif (val =="Cylinder"):
            height = self.height
            area =   ((2 * 3.14  * radius) * (radius + height))
        else:
            area = 0
        return area


    def Volume(self,val):
        radius = self.radius
        if (val == "Sphere"):
            volume = (4/3) * (3.14  * radius ** 2)
        elif (val == "Cylinder"):
            height = self.height
            volume =   3.14  * radius * radius * height
        else:
            volume = 0
        return volume


def main():
    cylinder=Test(2,4) 
    print('Cylinder area:',cylinder.Area(enter code here'Cylinder'))
    print('Cylinder volume:',cylinder.Volume('Cylinder'))
    sphere=Test(3) 
    print('Sphere area:',sphere.Area('Sphere'))
    print('Sphere volume:',sphere.Volume('Sphere'))


if __name__=='__main__':
    main()
Reblochonマスク

質問で指定されているように:

  • を作成しますclass Shape
  • これからaclass Sphereとaclass Cylinder導き出しclass Shapeます。
  • 各形状の体積と面積の計算を実装します。

次に、形状を使用するために、

  • 最初に形状を作成する必要があります。
  • 次に、作成されたシェイプでメソッドget_surfaceまたはget_volumeを呼び出します。これは「ドット」表記で行います

以下の例はそれを行います。

import math

class Shape:
    """abstract class for shapes"""
    def __init__(self, radius):
        self.radius = radius

    def get_surface(self):
        raise NotImplementedError

    def get_volume(self):
        raise NotImplementedError


class Sphere(Shape):    # <-- inherits from Shape
    def __init__(self, radius):
        Shape.__init__(self, radius)    # <-- can also use super().__init__(radius)

    def get_surface(self):
        return 4 * math.pi * self.radius**2   # <-- use math.pi constant i/o hard coding the value of pi

    def get_volume(self):
        return math.pi * self.radius**3 * 4/3  


class Cylinder(Shape):    # <-- inherits from Shape
    def __init__(self, radius, height):
        Shape.__init__(self, radius)    # <-- can also use super().__init__(radius)
        self.height = height

    def get_surface(self):
        return 2 * math.pi * self.radius * self.height + 2 * math.pi * self.radius**2

    def get_volume(self):
        return math.pi * self.radius**2 * self.height


def main():
    cyl = Cylinder(2, 4) 
    print('Cylinder area:', cyl.get_surface())   # <-- call the methods on the object
    print('Cylinder volume:', cyl.get_volume())
    sph = Sphere(5) 
    print('Sphere area:',sph.get_surface())
    print('Sphere volume:',sph.get_volume())


if __name__=='__main__':
    main()

出力:

Cylinder area: 75.3982236862
Cylinder volume: 50.2654824574
Sphere area: 314.159265359
Sphere volume: 523.598775598

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

モンテカルロ法を使用してPythonで球の体積を見つける方法は?

分類Dev

2つの数の積を見つけるプログラム

分類Dev

「回路の面積と円周の計算」プログラムのc ...奇妙な出力

分類Dev

半径と角度がわかっている場合、円のセグメントの面積を見つける方法は?

分類Dev

面積と体積の関数を宣言する方法

分類Dev

長方形の面積を計算するPython3.3.4でプログラムを書く方法は?

分類Dev

行列の積を見つけることを目的としたACプログラムが機能していません

分類Dev

C ++とOOPを使用した面積計算プログラムの作成

分類Dev

3D空間で円と無限円柱の交点を見つける

分類Dev

Pythonでサイコロを振るプログラムの最小値と最大値を見つける方法

分類Dev

関数を使用して長方形の長さと面積をプログラムする

分類Dev

多項式のy、導関数、および積分値を見つけるプログラム(更新)

分類Dev

matlabの同じ軸に累積分布関数と正則グラフをプロットする

分類Dev

文中の母音と子音を見つけるプログラム

分類Dev

球の半径の入力をユーザーに求め、その体積を出力するプログラムを作成します

分類Dev

hcfとlcmを見つけるためのPythonプログラム

分類Dev

Pythonのモンテカルロ法で10次元球の体積を計算する方法は?

分類Dev

セレンの異なるタグで同じ名前と同じ属性を持つ要素を見つける方法

分類Dev

頂点と辺がわかっている場合、Android ArCoreで平方メートル単位の面積を見つける方法は?

分類Dev

特定のファイルを開くことができるプログラムを見つける方法は?

分類Dev

opencvとpythonどのように円の面積をトリミングするか

分類Dev

Javascriptで値の積を見つける

分類Dev

Python の球の体積

分類Dev

Python:私のプログラムで間違いを見つけることができません

分類Dev

2つのグラフタイプ(面積と線)を別々の凡例を持つ1つのグラフにプロットします

分類Dev

プログラムの印刷は、シリンダーの面積、体積、範囲+継承Javaの印刷を0.0に保ちます

分類Dev

FORTRANで特定の精度で円周率を見つけるためのモンテカルロ積分

分類Dev

Pythonの辞書のリストでアイテムの累積合計を見つける方法

分類Dev

円と長方形の交点の面積

Related 関連記事

  1. 1

    モンテカルロ法を使用してPythonで球の体積を見つける方法は?

  2. 2

    2つの数の積を見つけるプログラム

  3. 3

    「回路の面積と円周の計算」プログラムのc ...奇妙な出力

  4. 4

    半径と角度がわかっている場合、円のセグメントの面積を見つける方法は?

  5. 5

    面積と体積の関数を宣言する方法

  6. 6

    長方形の面積を計算するPython3.3.4でプログラムを書く方法は?

  7. 7

    行列の積を見つけることを目的としたACプログラムが機能していません

  8. 8

    C ++とOOPを使用した面積計算プログラムの作成

  9. 9

    3D空間で円と無限円柱の交点を見つける

  10. 10

    Pythonでサイコロを振るプログラムの最小値と最大値を見つける方法

  11. 11

    関数を使用して長方形の長さと面積をプログラムする

  12. 12

    多項式のy、導関数、および積分値を見つけるプログラム(更新)

  13. 13

    matlabの同じ軸に累積分布関数と正則グラフをプロットする

  14. 14

    文中の母音と子音を見つけるプログラム

  15. 15

    球の半径の入力をユーザーに求め、その体積を出力するプログラムを作成します

  16. 16

    hcfとlcmを見つけるためのPythonプログラム

  17. 17

    Pythonのモンテカルロ法で10次元球の体積を計算する方法は?

  18. 18

    セレンの異なるタグで同じ名前と同じ属性を持つ要素を見つける方法

  19. 19

    頂点と辺がわかっている場合、Android ArCoreで平方メートル単位の面積を見つける方法は?

  20. 20

    特定のファイルを開くことができるプログラムを見つける方法は?

  21. 21

    opencvとpythonどのように円の面積をトリミングするか

  22. 22

    Javascriptで値の積を見つける

  23. 23

    Python の球の体積

  24. 24

    Python:私のプログラムで間違いを見つけることができません

  25. 25

    2つのグラフタイプ(面積と線)を別々の凡例を持つ1つのグラフにプロットします

  26. 26

    プログラムの印刷は、シリンダーの面積、体積、範囲+継承Javaの印刷を0.0に保ちます

  27. 27

    FORTRANで特定の精度で円周率を見つけるためのモンテカルロ積分

  28. 28

    Pythonの辞書のリストでアイテムの累積合計を見つける方法

  29. 29

    円と長方形の交点の面積

ホットタグ

アーカイブ