BushmanovAS 3 недель назад
Родитель 79a37fd2c7
Сommit 0bca4498fc

@ -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
```

Загрузка…
Отмена
Сохранить