Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

2.7 KiB

Индивидуальное контрольное задание

Бушманов Артём, А-01-23

Задание:

  1. Создайте список с 5 фамилиями сотрудников некоторой фирмы (фамилии придумайте сами). Создайте кортеж с 5 числовыми элементами - окладами сотрудников из списка.
  2. Запросите у пользователя и введите символьную строку с названием фирмы (латиницей). Удалите из названия пробелы.
  3. Создайте словарь с именем - названием фирмы, ключами - фамилиями сотрудников из списка и значениями - их окладами из кортежа. Отобразите словарь.
  4. Рассчитайте среднее значение оклада сотрудников фирмы и отобразите с заголовком.
  5. Запишите список, кортеж и словарь в бинарный файл с именем - названием фирмы и расширением '.bin'.

Решение:

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)

Проверка:

Введите название фирмы латиницей: FDSFSDv
Название фирмы (без пробелов): FDSFSDv
Словарь с данными по сотрудникам:
{'Ivanov': 40000, 'Petrov': 45000, 'Sidorov': 42000, 'Smirnov': 48000, 'Kuznetsov': 50000}
Средний оклад сотрудников фирмы: 45000.0
Данные записаны в файл: FDSFSDv.bin