ответвлено от main/python-labs
test: done
Этот коммит содержится в:
Двоичные данные
TEMA6/M2_11.bin
Обычный файл
Двоичные данные
TEMA6/M2_11.bin
Обычный файл
Двоичный файл не отображается.
63
TEMA6/test.M2.py
Обычный файл
63
TEMA6/test.M2.py
Обычный файл
@@ -0,0 +1,63 @@
|
||||
import math
|
||||
import random
|
||||
import pickle
|
||||
print("\n1. Ввод имени функции")
|
||||
func_name = input("Введите имя функции из библиотеки math: ")
|
||||
func = eval(f"math.{func_name}")
|
||||
|
||||
print("\n2. Создание кортежа случайных чисел")
|
||||
temp_list = []
|
||||
for i in range(20):
|
||||
number = random.randint(11, 40)
|
||||
temp_list.append(number)
|
||||
|
||||
numbers_tuple = tuple(temp_list)
|
||||
print("Сгенерированный кортеж:")
|
||||
print(numbers_tuple)
|
||||
|
||||
print("\n3. Применение функции к элементам кортежа")
|
||||
result_list = []
|
||||
for value in numbers_tuple:
|
||||
result = func(value)
|
||||
result_list.append(result)
|
||||
|
||||
print("\n4. Запись в бинарный файл")
|
||||
filename = "M2_11.bin"
|
||||
print(f"Имя файла: {filename}")
|
||||
|
||||
file = open(filename, 'wb')
|
||||
pickle.dump(numbers_tuple, file)
|
||||
pickle.dump(result_list, file)
|
||||
file.close()
|
||||
print("Данные успешно записаны в файл")
|
||||
print("\nПроверка записи (чтение из файла):")
|
||||
file = open(filename, 'rb')
|
||||
read_tuple = pickle.load(file)
|
||||
read_list = pickle.load(file)
|
||||
file.close()
|
||||
|
||||
print(f"Прочитанный кортеж (первые 5 элементов): {read_tuple[:5]}")
|
||||
print(f"Прочитанный список (первые 5 элементов): {[round(x, 3) for x in read_list[:5]]}")
|
||||
# 5. Расчет среднего значения разностей элементов на соседних четных и нечетных позициях
|
||||
print("\n5. Расчет среднего значения разностей")
|
||||
|
||||
differences = []
|
||||
i = 0
|
||||
while i < len(result_list) - 1:
|
||||
diff = result_list[i] - result_list[i+1]
|
||||
differences.append(diff)
|
||||
i = i + 2
|
||||
print(f"Найдено {len(differences)} разностей")
|
||||
if len(differences) > 0:
|
||||
sum_diff = 0
|
||||
for d in differences:
|
||||
sum_diff = sum_diff + d
|
||||
average_diff = sum_diff / len(differences)
|
||||
print("\nРазности между соседними четными и нечетными позициями:")
|
||||
for j in range(len(differences)):
|
||||
d_1 = j * 2
|
||||
print(f" {result_list[d_1]:.3f} - {result_list[d_1+1]:.3f} = {differences[j]:.3f}")
|
||||
|
||||
print(f"\nСреднее значение разностей: {average_diff:.6f}")
|
||||
else:
|
||||
print("Недостаточно элементов для вычисления разностей")
|
||||
0
TEMA6/test.md
Обычный файл
0
TEMA6/test.md
Обычный файл
Ссылка в новой задаче
Block a user