From 8af6392e996f370d182333812f7a84efb969ae9c Mon Sep 17 00:00:00 2001 From: Dmitry Kolomeytsev Date: Mon, 17 Nov 2025 12:39:43 +0300 Subject: [PATCH] ikz done --- TEMA6/binary.bin | Bin 695 -> 400 bytes TEMA6/test.md | 81 ++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 80 insertions(+), 1 deletion(-) diff --git a/TEMA6/binary.bin b/TEMA6/binary.bin index 145e4183e73a7124795ab0410b81f9aa80676bd3..cd6d1339ebe194e986078441c785b453c1a54be5 100644 GIT binary patch literal 400 zcmZo*ncB+800y;FG@!ho^Uc&xX<0eWM+`-_N`haQ+il( zGK)*5!~)&F|4sX^8O{H`xZ6JyX0>{ZAy;ZL0S5b+?~)Q!_{2x7>aIO>rB>|7yuVb3_YUme=LG?|3l!`{x>h+U!ha z6n>g-lbF0pBi3!pnZ}}5DZDUG015!Kz%xNcpMlQEl(rnwB*P2YSKSR7QHD@WL2Di$ zKH$PG4#%1lL_Xy^b*4kSFRT=*efu+SdVB`^OwEikVkGfNo+Xh3R|a-3k-_Sf;N zuGx32)YoxQn-~$z@UlM_qHI}PI{!qe7j#@>9%Ts%O$Fd;U~Ag2gl`>> import os +>>> import random +>>> import pickle +>>> import math + +>>> # 1) Запросите у пользователя и введите имя функции из библиотеки math для обработки данных. + +>>> +>>> func_name = input("Введите имя функции из библиотеки math (например sqrt, sin, cos): ") +Введите имя функции из библиотеки math (например sqrt, sin, cos): sin +>>> func_name +'sin' +>>> if not hasattr(math, func_name): +... print(f"Функция '{func_name}' не найдена в библиотеке math") +... exit() +... +... +>>> func = getattr(math, func_name) +>>> func + + +# 2) Создайте кортеж с 20 случайными равномерно распределенными числами из диапазона значений от 11 до 40. + +kort = tuple(random.uniform(11, 40) for _ in range(20)) + +kort +(16.808827380882583, 13.328126034808443, 18.508365438743773, 38.400181739145395, 30.74396638844783, 37.02011460254017, 18.87968576156089, 22.394000025760057, 23.062018003376906, 11.323633616339949, 36.2506853914364, 19.48084169593707, 31.425343980568798, 35.03973794703552, 36.48310456868603, 23.14357758721929, 30.09328844881235, 27.45402353941273, 19.232678017829635, 20.59891162619639) + +# 3) Напишите инструкцию создания списка, содержащего значения, равные результату вычисления заданной пользователем функции от соответствующих элементов кортежа. + +result_list = [func(x) for x in kort] +result_list +[-0.8915989855595101, 0.6901927749569217, -0.33460918876777096, 0.6450356200195559, -0.6225211991234381, -0.6280129896135037, 0.030125281547794338, -0.3920431155680488, -0.877617606249215, -0.9466694226202514, -0.9925221451754105, 0.590183211747677, 0.009417305468679018, -0.4637460639640912, -0.9377197913088371, -0.9137534675198252, -0.9693664369267251, 0.7313575170189571, 0.3738180373474736, 0.9841005857350538] + +# 4) Выведите кортеж и результирующий список в бинарный файл с любым именем. + +with open('/home/s0ba4/mpei/python-labs/TEMA6/binary.bin', 'wb+') as fp1: + pickle.dump({'kortezh': kort, 'list': result_list}, fp1) + +with open('/home/s0ba4/mpei/python-labs/TEMA6/binary.bin', 'rb+') as fp2: + pickle.load(fp2) + +{'kortezh': (16.808827380882583, 13.328126034808443, 18.508365438743773, 38.400181739145395, 30.74396638844783, 37.02011460254017, 18.87968576156089, 22.394000025760057, 23.062018003376906, 11.323633616339949, 36.2506853914364, 19.48084169593707, 31.425343980568798, 35.03973794703552, 36.48310456868603, 23.14357758721929, 30.09328844881235, 27.45402353941273, 19.232678017829635, 20.59891162619639), 'list': [-0.8915989855595101, 0.6901927749569217, -0.33460918876777096, 0.6450356200195559, -0.6225211991234381, -0.6280129896135037, 0.030125281547794338, -0.3920431155680488, -0.877617606249215, -0.9466694226202514, -0.9925221451754105, 0.590183211747677, 0.009417305468679018, -0.4637460639640912, -0.9377197913088371, -0.9137534675198252, -0.9693664369267251, 0.7313575170189571, 0.3738180373474736, 0.9841005857350538]} + +# 5) Рассчитайте среднее значение разностей элементов списка, находящихся на соседних четных и нечетных позициях. Отобразите результат на экране. + +diffs = [] +for i in range(0, len(result_list) - 1, 2): + if i + 1 < len(result_list): + diff = result_list[i] - result_list[i + 1] + diffs.append(diff) + + +if diffs: + avg_diff = sum(diffs) / len(diffs) + print(f"\nСреднее значение разностей элементов на соседних четных и нечетных позициях:") + print(f"{avg_diff:.4f}") + + + +Среднее значение разностей элементов на соседних четных и нечетных позициях: +-0.5509 +``` \ No newline at end of file