форкнуто от main/python-labs
Родитель
1d9dd67098
Сommit
350840a311
Двоичный файл не отображается.
@ -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)
|
||||
Загрузка…
Ссылка в новой задаче