ответвлено от main/python-labs
ИКЗ
Этот коммит содержится в:
@@ -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
|
||||
|
||||
|
||||
```
|
||||
|
||||
|
||||
Ссылка в новой задаче
Block a user