Пользователь № 2 аудитории Ж-206 1 месяц назад
Родитель 1d9dd67098
Сommit 350840a311

Двоичные данные
TEMA6/binary.bin

Двоичный файл не отображается.

@ -0,0 +1,90 @@
# Тест по модулю 2. Вариант 11
Степанов Артём, А-02-23
## Задание 1
Запросите у пользователя и введите имя функции из библиотеки math для обработки данных.
## Решение
```py
>>> import math
>>> print(dir(math))
['__doc__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh', 'cbrt', 'ceil', 'comb', 'copysign', 'cos', 'cosh', 'degrees', 'dist', 'e', 'erf', 'erfc', 'exp', 'exp2', 'expm1', 'fabs', 'factorial', 'floor', 'fmod', 'frexp', 'fsum', 'gamma', 'gcd', 'hypot', 'inf', 'isclose', 'isfinite', 'isinf', 'isnan', 'isqrt', 'lcm', 'ldexp', 'lgamma', 'log', 'log10', 'log1p', 'log2', 'modf', 'nan', 'nextafter', 'perm', 'pi', 'pow', 'prod', 'radians', 'remainder', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'tau', 'trunc', 'ulp']
>>> func = input("Введите функцию из модуля math: ")
Введите функцию из модуля math: sqrt
```
## Задание 2
Создайте кортеж с 20 случайными равномерно распределенными числами из диапазона значений от 11 до 40.
## Решение
```py
>>> import random
>>> kort = tuple([random.uniform(11, 40) for x in range(20)])
>>> kort
(13.660375880487978, 29.453518221390016, 24.21546392982809, 32.433379995697656, 21.24020821353613, 34.55631343191126, 20.992169057649782, 15.230930622059098, 30.89172248312571, 14.615811177459697, 26.211389931676, 23.703136667771552, 28.591909389652102, 24.289697762108663, 16.39261625404772, 12.65385640234007, 35.225116803637945, 39.90736378649565, 38.30743305242752, 34.56895014626229)
>>> len(kort)
20
```
## Задание 3
Напишите инструкцию создания списка, содержащего значения, равные результату вычисления заданной пользователем функции от соответствующих элементов кортежа.
## Решение
```py
>>> sps = []
>>> for i in range(len(kort)):
... sps = sps + [eval("math.{f}({num})".format(f = func, num = kort[i]))]
...
>>> sps
[3.695994572572852, 5.427109564159362, 4.920921044868337, 5.695031167227942, 4.608710037910405, 5.87846182533418, 4.581721189427592, 3.9026824905517357, 5.558032249198066, 3.823063062187138, 5.119706039576491, 4.868586721808656, 5.347140300165323, 4.928457949714968, 4.04877960057691, 3.557225941986265, 5.935075130412247, 6.317227539553697, 6.18929988386631, 5.879536558799706]
```
## Задание 4
Выведите кортеж и результирующий список в бинарный файл с любым именем.
## Решение
```py
>>> import os, pickle
>>> os.chdir(input("Введите полный путь к текущему рабочему каталогу: "))
Введите полный путь к текущему рабочему каталогу: C:\\Users\\u206-02\\Desktop\\StepanovAV\\python-labs\\TEMA6
>>> os.getcwd()
'C:\\Users\\u206-02\\Desktop\\StepanovAV\\python-labs\\TEMA6'
>>> filename = "binary.bin"
>>> fp = open(filename, "wb")
>>> pickle.dump(kort, fp)
>>> pickle.dump(sps, fp)
>>> fp.close()
>>> print("Данные сохранены в файл с именем:", filename)
Данные сохранены в файл с именем: binary.bin
```
## Задание 5
Рассчитайте среднее значение разностей элементов списка, находящихся на соседних четных и нечетных позициях. Отобразите результат на экране.
## Решение
```py
>>> sumCht = 0; sumNecht = 0
>>> for i in range(len(sps) - 2):
... if i % 2 == 0:
... sumCht = sumCht + (sps[i] - sps[i + 2])
... else:
... sumNecht = sumNecht + (sps[i] - sps[i + 2])
...
>>> sredCht = sumCht / (len(sps) // 2)
>>> sredNecht = sumNecht / (len(sps) // 2 - 1)
>>> print("Среднее значение разностей четных элементов списка:", sredCht)
Среднее значение разностей четных элементов списка: -0.2493305311293458
>>> print("Среднее значение разностей нечетных элементов списка:", sredNecht)
Среднее значение разностей нечетных элементов списка: -0.05026966607114937
```

@ -0,0 +1,25 @@
import os, math, pickle, random
print(dir(math))
func = input("Введите функцию из модуля math: ")
kort = tuple([random.uniform(11, 40) for x in range(20)])
sps = []
for i in range(len(kort)):
sps = sps + [eval("math.{f}({num})".format(f = func, num = kort[i]))]
os.chdir(input("Введите полный путь к текущему рабочему каталогу: "))
print("Текущий рабочий каталог: ", os.getcwd())
filename = "binary.bin"
fp = open(filename, "wb")
pickle.dump(kort, fp)
pickle.dump(sps, fp)
fp.close()
print("Данные сохранены в файл с именем:", filename)
sumCht = 0; sumNecht = 0
for i in range(len(sps) - 2):
if i % 2 == 0:
sumCht = sumCht + (sps[i] - sps[i + 2])
else:
sumNecht = sumNecht + (sps[i] - sps[i + 2])
sredCht = sumCht / (len(sps) // 2)
sredNecht = sumNecht / (len(sps) // 2 - 1)
print("Среднее значение разностей четных элементов списка:", sredCht)
print("Среднее значение разностей нечетных элементов списка:", sredNecht)
Загрузка…
Отмена
Сохранить