нужна помощь, язык python
есть переменная
workers = {
'Петров': {
'должность': 'младший Разработчик',
'эффективность': 50,
'проекты': ['спанч-боб', 'сайт знакомств']
},
'Бекалиев': {
'должность': 'разработчик',
'эффективность': 75,
'проекты': ['гравити-фолз', 'калькулятор']
},
'Сидоров': {
'должность': 'Старший разработчик',
'эффективность': 90,
'проекты': [' гайдкий я ','калькулятор уравнений']
}
}
основываясь на этой переменной нужно сделать так чтобы
1- выводились фамилии всех сотрудников
2- должности всех сотрудников
3-Фамилия самого эффективного сотрудника
4-Добавление нового сотрудника, удаление существуещего сотрудника, изменение эффективности сотрудника по фамилии
работать это должно по принципу телеграм бота типо нажмите 1 будет это нажмите 2 будет это.
заранее спасибо
Ответы
Ответ:
1) for i in workers:
print(i)
2) for i in workers:
print(i[0])
3) for i in workers:
if max < i[1]:
max = i;
print(max)
Объяснение:
workers = {
'Петров': {
'должность': 'младший Разработчик',
'эффективность': 50,
'проекты': ['спанч-боб', 'сайт знакомств']
},
'Бекалиев': {
'должность': 'разработчик',
'эффективность': 75,
'проекты': ['гравити-фолз', 'калькулятор']
},
'Сидоров': {
'должность': 'Старший разработчик',
'эффективность': 90,
'проекты': [' гайдкий я ','калькулятор уравнений']
}
}
def Menu():
print('Нажмите 1 чтобы вывести фамилии всех сотрудников')
print('Нажмите 2 чтобы вывести должности всех сотрудников')
print('Нажмите 3 чтобы вывести фамилию самого эффективного сотрудника')
print('Нажмите 4 чтобы добавить нового сотрудника')
print('Нажмите 5 чтобы удалить сотрудника')
print('Нажмите 6 чтобы изменить эффективность сотрудника')
print('Нажмите 7 чтобы выйти из программы')
while True:
try:
choice = int(input('Введите номер пункта: '))
except ValueError:
print('Неверный ввод, попробуйте еще раз')
else:
if choice in range(1, 8):
return choice
else:
print('Неверный ввод, попробуйте еще раз')
def print_surnames():
for surname in workers:
print(surname)
def print_positions():
for surname in workers:
print(workers[surname]['должность'])
def print_most_efficient():
max_efficiency = 0
for surname in workers:
if workers[surname]['эффективность'] > max_efficiency:
max_efficiency = workers[surname]['эффективность']
most_efficient = surname
print(most_efficient)
def add_worker():
surname = input('Введите фамилию сотрудника: ')
position = input('Введите должность сотрудника: ')
efficiency = int(input('Введите эффективность сотрудника: '))
projects = input('Введите проекты сотрудника: ').split()
workers[surname] = {
'должность': position,
'эффективность': efficiency,
'проекты': projects
}
def delete_worker():
surname = input('Введите фамилию сотрудника: ')
if surname in workers:
del workers[surname]
else:
print('Такого сотрудника нет')
def change_efficiency():
surname = input('Введите фамилию сотрудника: ')
if surname in workers:
efficiency = int(input('Введите новую эффективность сотрудника: '))
workers[surname]['эффективность'] = efficiency
else:
print('Такого сотрудника нет')
while True:
choice = Menu()
if choice == 1:
print_surnames()
elif choice == 2:
print_positions()
elif choice == 3:
print_most_efficient()
elif choice == 4:
add_worker()
elif choice == 5:
delete_worker()
elif choice == 6:
change_efficiency()
elif choice == 7:
break