From 0bca4498fca22b0b3f538a19dd2c94e4a300e4d7 Mon Sep 17 00:00:00 2001 From: BushmanovAS Date: Fri, 21 Nov 2025 13:09:44 +0300 Subject: [PATCH] =?UTF-8?q?=D0=98=D0=9A=D0=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TEMA6/test.md | 82 +++++++++++++++++++++++++++------------------------ 1 file changed, 43 insertions(+), 39 deletions(-) diff --git a/TEMA6/test.md b/TEMA6/test.md index 6e16de8..cfbcb7c 100644 --- a/TEMA6/test.md +++ b/TEMA6/test.md @@ -10,52 +10,56 @@ 5) Запишите список, кортеж и словарь в бинарный файл с именем - названием фирмы и расширением '.bin'. ## Решение: ```python -import pickle -familii = ['Ivanov', 'Petrov', 'Sidorov', 'Smirnov', 'Kuznetsov'] -okladi = (40000, 45000, 42000, 48000, 50000) -namefirmi= input("Введите название фирмы латиницей: ") -namefirmi = namefirmi.replace(' ', '') # убираем пробелы -print("Название фирмы (без пробелов):", namefirmi) - -firm_dict = {} -i = 0 -while i < len(familii): - fam = familii[i] - pay = okladi[i] - firmdict[fam] = pay - i = i + 1 - -print("Словарь с данными по сотрудникам:") -print(firmdict) - - -summa = 0 -j = 0 -while j < len(okladi): - summa = summa + okladi[j] - j = j + 1 - -itog = summa / len(okladi) -print("Средний оклад сотрудников фирмы:", itog) - - -file_name = firm_name + '.bin' -fp = open(namefirmi, 'wb') -pickle.dump(familii, fp) -pickle.dump(okladi, fp) -pickle.dump(firmdict, fp) -fp.close() - +import pickle +familii = ['Ivanov', 'Petrov', 'Sidorov', 'Smirnov', 'Kuznetsov'] +okladi = (40000, 45000, 42000, 48000, 50000) +namefirmi= input("Введите название фирмы латиницей: ") +namefirmi = namefirmi.replace(' ', '') +print("Название фирмы (без пробелов):", namefirmi) + +exec(namefirmi + " = {}") + +i = 0 +while i < len(familii): + fam = familii[i] + pay = okladi[i] + exec(namefirmi + "['" + fam + "'] = " + str(pay)) + i = i + 1 + +print("Словарь с данными по сотрудникам:") +firm_dict = eval(namefirmi) +print(firm_dict) + + +summa = 0 +j = 0 +while j < len(okladi): + summa = summa + okladi[j] + j = j + 1 + +itog = summa / len(okladi) +print("Средний оклад сотрудников фирмы:", itog) + + +file_name = namefirmi + '.bin' +fp = open(namefirmi, 'wb') +pickle.dump(familii, fp) +pickle.dump(okladi, fp) +pickle.dump(eval(namefirmi), fp) +fp.close() + print("Данные записаны в файл:", file_name) ``` ## *Проверка:* ```python -Введите название фирмы латиницей: AO TBank -Название фирмы (без пробелов): AOTBank +Введите название фирмы латиницей: FDSFSDv +Название фирмы (без пробелов): FDSFSDv Словарь с данными по сотрудникам: {'Ivanov': 40000, 'Petrov': 45000, 'Sidorov': 42000, 'Smirnov': 48000, 'Kuznetsov': 50000} Средний оклад сотрудников фирмы: 45000.0 -Данные записаны в файл: AOTBank.bin +Данные записаны в файл: FDSFSDv.bin + + ```