форкнуто от main/python-labs
Родитель
ef30a2e27a
Сommit
e752479f02
@ -1,2 +1,11 @@
|
||||
perm1=input('Mod1:Введите значение = ')
|
||||
print('Mod1:Значение perm1=',perm1)
|
||||
import random
|
||||
import math
|
||||
def create_tuple(N, V, W):
|
||||
sin_func = lambda x: math.sin(x)/x if x != 0 else 1
|
||||
results = []
|
||||
for i in range(N):
|
||||
x = random.gauss(V, W)
|
||||
result = sin_func(x)
|
||||
results.append(round(result, 6))
|
||||
return tuple(results)
|
||||
|
||||
|
||||
@ -1,11 +1,11 @@
|
||||
def alpha():
|
||||
print('****ALPHA****')
|
||||
t=input('Значение t=')
|
||||
return t
|
||||
|
||||
def beta(q):
|
||||
print('****BETA****')
|
||||
import math
|
||||
expi=q*math.pi
|
||||
return math.exp(expi)
|
||||
|
||||
import Mod1
|
||||
print('Тестируем функцию create_tuple...\n')
|
||||
test_cases = [
|
||||
(5, 0, 1),
|
||||
(3, 2, 0.5),
|
||||
(4, -1, 0.2),
|
||||
]
|
||||
for i, (N, V, W) in enumerate(test_cases, 1):
|
||||
result = Mod1.create_tuple(N, V, W)
|
||||
print(f"Тест {i}: N={N}, V={V}, W={W}")
|
||||
print(f"Результат: {result}\n")
|
||||
|
||||
@ -0,0 +1,50 @@
|
||||
# Индивидуальное контрольное задание по теме 8
|
||||
|
||||
Капитонов Михаил, А-02-23
|
||||
|
||||
## Задание
|
||||
По указанному преподавателем варианту контрольного задания обратитесь к индивидуальному заданию с таким номером в теме 7, разработайте функцию, на ее основе создайте модуль. Создайте второй модуль, в котором должны быть инструкции для ввода/создания исходных данных для проверки работы функции, вызов функции и отображение полученных результатов.
|
||||
|
||||
Функция:
|
||||
Разработайте функцию с 3 аргументами: N, V, W, создающую кортеж с заданным числом N элементов - результатов вычисления функции sin(X)/X, где Х – случайное, нормально распределенное число с математическим ожиданием V и стандартным отклонением W. Значение sin(X)/X должно вычисляться с помощью анонимной функции. Результат основной функции – созданный кортеж. Проверить эту функцию на примере.
|
||||
|
||||
## Решение
|
||||
|
||||
```py
|
||||
#Модуль 1
|
||||
import random
|
||||
import math
|
||||
def create_tuple(N, V, W):
|
||||
sin_func = lambda x: math.sin(x)/x if x != 0 else 1
|
||||
results = []
|
||||
for i in range(N):
|
||||
x = random.gauss(V, W)
|
||||
result = sin_func(x)
|
||||
results.append(round(result, 6))
|
||||
return tuple(results)
|
||||
|
||||
#Модуль 2
|
||||
import Mod1
|
||||
print('Тестируем функцию create_tuple...\n')
|
||||
test_cases = [
|
||||
(5, 0, 1),
|
||||
(3, 2, 0.5),
|
||||
(4, -1, 0.2),
|
||||
]
|
||||
for i, (N, V, W) in enumerate(test_cases, 1):
|
||||
result = Mod1.create_tuple(N, V, W)
|
||||
print(f"Тест {i}: N={N}, V={V}, W={W}")
|
||||
print(f"Результат: {result}\n")
|
||||
|
||||
Тестируем функцию create_tuple... #Запустил модуль 2
|
||||
|
||||
Тест 1: N=5, V=0, W=1
|
||||
Результат: (0.994858, 0.249104, 0.91095, 0.98991, 0.949274)
|
||||
|
||||
Тест 2: N=3, V=2, W=0.5
|
||||
Результат: (0.557395, 0.425528, 0.456684)
|
||||
|
||||
Тест 3: N=4, V=-1, W=0.2
|
||||
Результат: (0.771282, 0.927371, 0.854999, 0.878237)
|
||||
|
||||
```
|
||||
Загрузка…
Ссылка в новой задаче