Top.Mail.Ru
Ответы

Помогите с python пожалуйста

Задача 2. Математический модуль
Что нужно сделать
Вася использует в своей программе очень много различных математических вычислений, связанных с фигурами. Например, нахождение их площадей или периметров. Поэтому, чтобы не захламлять код огромным количеством функций, он решил выделить для них отдельный класс, подключить как модуль и использовать по аналогии с модулем math.

Реализуйте класс MyMath, состоящий как минимум из следующих методов (можете бонусом добавить и другие методы):

вычисление длины окружности,
вычисление площади окружности,
вычисление объёма куба,
вычисление площади поверхности сферы.
Пример основного кода:

res_1 = MyMath.circle _len(radius=5)
res_2 = MyMath.circle _sq(radius=6)
print(res_1)
print(res_2)
Результат:

31.41592653589793

113.09733552923255

По дате
По рейтингу
Аватар пользователя
Ученик

import math

class MyMath:
@staticmethod
def circle_len(radius):
"""Вычисление длины окружности."""
return 2 * math.pi * radius

@staticmethod
def circle_sq(radius):
"""Вычисление площади окружности."""
return math.pi * radius**2

@staticmethod
def cube_volume(side_length):
"""Вычисление объёма куба."""
return side_length**3

@staticmethod
def sphere_surface_area(radius):
"""Вычисление площади поверхности сферы."""
return 4 * math.pi * radius**2

# Пример использования
res_1 = MyMath.circle _len(radius=5)
res_2 = MyMath.circle _sq(radius=6)
print(res_1)
print(res_2)

Ответы получаются те которые тебе нужно.

Аватар пользователя
Ученик
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
 import math 
from typing import Union 
 
 
class MyMath: 
 
    @classmethod 
    def circle_len(cls, radius: Union[int, float]) -> float: 
        """Вычисляет длину окружности""" 
        try: 
            if isinstance(radius, (int, float)): 
                return 2 * math.pi * radius 
            else: 
                raise ValueError('Invalid radius. Must be int or float.') 
        except ValueError as e: 
            print(f'An error occurred: {str(e)}') 
 
    @classmethod 
    def circle_sq(cls, radius: Union[int, float]) -> float: 
        """Вычисляет площадь окружности""" 
        try: 
            if isinstance(radius, (int, float)): 
                return math.pi * math.pow(radius, 2) 
            else: 
                raise ValueError('Invalid radius. Must be int or float.') 
        except ValueError as e: 
            print(f'An error occurred: {str(e)}') 
 
    @classmethod 
    def cube_vol(cls, rib_length: Union[int, float]) -> Union[int, float]: 
        """Вычисляет объем куба""" 
        try: 
            if isinstance(rib_length, (int, float)): 
                return math.pow(rib_length, 3) 
            else: 
                raise ValueError('Invalid rib length. Must be int or float.') 
        except ValueError as e: 
            print(f'An error occurred: {str(e)}') 
 
    @classmethod 
    def surface_area_sphere(cls, radius: Union[int, float]) -> float: 
        """Вычисляет площадь поверхности сферы""" 
        try: 
            if isinstance(radius, (int, float)): 
                return 4 * math.pi * math.pow(radius, 2) 
            else: 
                raise ValueError('Invalid radius. Must be int or float.') 
        except ValueError as e: 
            print(f'An error occurred: {str(e)}') 
 
 
res_1 = MyMath.circle_len(radius=5) 
res_2 = MyMath.circle_sq(radius=6) 
res_3 = MyMath.cube_vol(rib_length=5.5) 
res_4 = MyMath.surface_area_sphere(radius=4) 
print(f'Длина окружности = {round(res_1, 3)}' 
      f'\nПлощадь окружности = {round(res_2, 3)}' 
      f'\nОбъём куба = {round(res_3, 3)}' 
      f'\nПлощадь поверхности сферы = {round(res_4, 3)}') 
Аватар пользователя
Мудрец

Вот пример реализации класса MyMath, который вы можете использовать в своей программе:

12345678910111213141516171819
 import math 
 
class MyMath: 
    @staticmethod 
    def circle_len(radius): 
        return 2 * math.pi * radius 
 
    @staticmethod 
    def circle_sq(radius): 
        return math.pi * radius ** 2 
 
    @staticmethod 
    def cube_vol(side): 
        return side ** 3 
 
    @staticmethod 
    def sphere_sq(radius): 
        return 4 * math.pi * radius ** 2 
 

Вы можете использовать этот класс следующим образом:

12345
 res_1 = MyMath.circle_len(radius=5) 
res_2 = MyMath.circle_sq(radius=6) 
print(res_1) 
print(res_2) 
 

Результат будет таким же, как в вашем примере:

123
 31.41592653589793 
113.09733552923255 
 
Аватар пользователя
Ученик

;;;;;;; изиди дьявол Пайтона!!!! ;;;;;;;Endl;



Видео по теме